Enum QREncodeMode
Namespace: Aspose.BarCode.Generation
Assembly: Aspose.BarCode.dll (25.1.0)
QR条形码的编码模式。
public enum QREncodeMode
字段
Auto = 0
在自动模式下,CodeText以最大数据紧凑度进行编码。 如果可能,Unicode字符以汉字模式编码,否则将根据指定的ECIEncoding重新编码,并插入ECI标识符。 如果发现不支持所选ECI编码的字符,将抛出异常。
Binary = 7
在二进制模式下,CodeText以最大数据紧凑度进行编码。 如果发现Unicode字符,将抛出异常。
Bytes = 1
将代码文本编码为普通字节。如果检测到任何Unicode字符,该字符将作为两个字节编码,低字节优先。
ECI = 8
在ECI模式下,整个消息根据指定的ECIEncoding重新编码,并插入ECI标识符。 如果发现不支持所选ECI编码的字符,将抛出异常。 请注意,一些旧的(2006年前)扫描仪可能不支持此模式。 此模式不支持MicroQR条形码。
ECIEncoding = 4
根据ECIEncoding属性中设置的值编码代码文本。这可能会对一些旧的(2006年前)条形码扫描仪造成问题。 此模式不支持MicroQR条形码。
Extended = 6
扩展通道模式,支持FNC1第一位置、FNC1第二位置和多ECI模式。
最好使用QrExtCodetextBuilder生成扩展代码文本。
使用Display2DText属性设置可见文本以去除管理字符。
编码原则:
所有符号“\”在代码文本中必须加倍为“\\”。
FNC1在第一位置在代码文本中设置为“<FNC1>”。
FNC1在第二位置在代码文本中设置为“<FNC1(value)>”。值必须是单个符号(a-z,A-Z)或从0到99的数字。
FNC1模式的组分隔符设置为0x1D字符'\\u001D'。
如果需要将“<FNC1>”字符串插入条形码,请将其写为“<\FNC1>”。
ECI标识符设置为单斜杠和六位数字标识符“\000026” - UTF8 ECI标识符。
要禁用当前ECI模式并转换为默认的JIS8模式,设置零模式ECI标识符为“\000000”。
ECI标识符后的所有Unicode字符将自动编码为正确的字符代码集。
此模式不支持MicroQR条形码。
ExtendedCodetext = 5
扩展通道模式,支持FNC1第一位置、FNC1第二位置和多ECI模式。
最好使用QrExtCodetextBuilder生成扩展代码文本。
使用Display2DText属性设置可见文本以去除管理字符。
编码原则:
所有符号“\”在代码文本中必须加倍为“\\”。
FNC1在第一位置在代码文本中设置为“<FNC1>”。
FNC1在第二位置在代码文本中设置为“<FNC1(value)>”。值必须是单个符号(a-z,A-Z)或从0到99的数字。
FNC1模式的组分隔符设置为0x1D字符'\\u001D'。
如果需要将“<FNC1>”字符串插入条形码,请将其写为“<\FNC1>”。
ECI标识符设置为单斜杠和六位数字标识符“\000026” - UTF8 ECI标识符。
要禁用当前ECI模式并转换为默认的JIS8模式,设置零模式ECI标识符为“\000000”。
ECI标识符后的所有Unicode字符将自动编码为正确的字符代码集。
此模式不支持MicroQR条形码。
Utf16BEBOM = 3
使用带有第一个ByteOfMark字符的UTF8编码编码代码文本。这可能会对一些条形码扫描仪造成问题。
Utf8BOM = 2
使用带有第一个ByteOfMark字符的UTF8编码编码代码文本。
示例
这些示例展示了如何编码和保存带有扩展数据格式的QR条形码。
csharp
//此示例展示了如何使用ECI编码并保存条形码图像。
[C#]
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = "12345TEXT";
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.ECIEncoding;
generator.Parameters.Barcode.QR.QrECIEncoding = ECIEncodings.UTF8;
generator.Save("test.png");
}
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = "12345TEXT"
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.ECIEncoding
generator.Parameters.Barcode.QR.QrECIEncoding = ECIEncodings.UTF8
generator.Save("test.png")
End Using
//此示例展示了如何在扩展模式中使用FNC1第一位置。
//扩展通道模式,支持FNC1第一位置、FNC1第二位置和多ECI模式。
//最好使用QrExtCodetextBuilder生成扩展代码文本。
//使用Display2DText属性设置可见文本以去除管理字符。
//编码原则:
//所有符号“\”在代码文本中必须加倍为“\\”。
//FNC1在第一位置在代码文本中设置为“<FNC1>”
//FNC1在第二位置在代码文本中设置为“<FNC1(value)>”。值必须是单个符号(a-z,A-Z)或从0到99的数字。
//FNC1模式的组分隔符设置为0x1D字符'\\u001D'
//如果需要将“<FNC1>”字符串插入条形码,请将其写为“<\FNC1>”
//ECI标识符设置为单斜杠和六位数字标识符“\000026” - UTF8 ECI标识符
//要禁用当前ECI模式并转换为默认的JIS8模式,设置零模式ECI标识符为“\000000”
//ECI标识符后的所有Unicode字符将自动编码为正确的字符代码集。
[C#]
//创建代码文本
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddFNC1FirstPosition();
textBuilder.AddPlainCodetext("000%89%%0");
textBuilder.AddFNC1GroupSeparator();
textBuilder.AddPlainCodetext("12345<FNC1>");
//生成条形码
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = textBuilder.GetExtendedCodetext();
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended;
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text";
generator.Save(@"d:\test.png");
}
'创建代码文本
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddFNC1FirstPosition()
textBuilder.AddPlainCodetext("000%89%%0")
textBuilder.AddFNC1GroupSeparator()
textBuilder.AddPlainCodetext("12345<FNC1>")
'生成条形码
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = textBuilder.GetExtendedCodetext()
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text"
generator.Save("test.png")
End Using
//此示例展示了如何在扩展模式中使用FNC1第二位置。
[C#]
//创建代码文本
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddFNC1SecondPosition("12");
textBuilder.AddPlainCodetext("TRUE3456");
//生成条形码
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = textBuilder.GetExtendedCodetext();
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended;
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text";
generator.Save(@"d:\test.png");
}
'创建代码文本
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddFNC1SecondPosition("12")
textBuilder.AddPlainCodetext("TRUE3456")
'生成条形码
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = textBuilder.GetExtendedCodetext()
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text"
generator.Save("test.png")
End Using
//此示例展示了如何在扩展模式中使用多ECI模式。
[C#]
//创建代码文本
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddECICodetext(ECIEncodings.Win1251, "Will");
textBuilder.AddECICodetext(ECIEncodings.UTF8, "Right");
textBuilder.AddECICodetext(ECIEncodings.UTF16BE, "Power");
textBuilder.AddPlainCodetext(@"t\e\\st");
//生成条形码
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = textBuilder.GetExtendedCodetext();
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extendedt;
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text";
generator.Save(@"d:\test.png");
}
'创建代码文本
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddECICodetext(ECIEncodings.Win1251, "Will")
textBuilder.AddECICodetext(ECIEncodings.UTF8, "Right")
textBuilder.AddECICodetext(ECIEncodings.UTF16BE, "Power")
textBuilder.AddPlainCodetext(@"t\e\\st")
'生成条形码
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = textBuilder.GetExtendedCodetext()
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text"
generator.Save("test.png")
End Using