Enum QREncodeMode

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在第一位置在代码文本中设置为“&lt;FNC1&gt;”
//FNC1在第二位置在代码文本中设置为“&lt;FNC1(value)&gt;”。值必须是单个符号(a-z,A-Z)或从0到99的数字。
//FNC1模式的组分隔符设置为0x1D字符'\\u001D'
//如果需要将“&lt;FNC1&gt;”字符串插入条形码,请将其写为“&lt;\FNC1&gt;”
//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&lt;FNC1&gt;");
//生成条形码
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&lt;FNC1&gt;")
'生成条形码
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
 中文