Enum DotCodeEncodeMode

Enum DotCodeEncodeMode

Namespace: Aspose.BarCode.Generation
Assembly: Aspose.BarCode.dll (25.1.0)

DotCode 条形码的编码模式。

public enum DotCodeEncodeMode

字段

Auto = 0

在自动模式下,CodeText 以最大数据紧凑性进行编码。 Unicode 字符在指定的 ECIEncoding 编码中重新编码,并插入 ECI 标识符。 如果发现不支持所选 ECI 编码的字符,将抛出异常。

Binary = 3

在二进制模式下,CodeText 以最大数据紧凑性进行编码。 如果发现 Unicode 字符,将抛出异常。

Bytes = 1

将编码文本作为普通字节进行编码。如果检测到任何 Unicode 字符,该字符将被编码为两个字节,低字节在前。

ECI = 4

在 ECI 模式下,整个消息在指定的 ECIEncoding 编码中重新编码,并插入 ECI 标识符。 如果发现不支持所选 ECI 编码的字符,将抛出异常。 请注意,一些旧的(2006 年之前)扫描仪可能不支持此模式。

Extended = 5

扩展模式,支持多种 ECI 模式。

最好使用 DotCodeExtCodetextBuilder 进行扩展编码文本生成。

使用 Display2DText 属性设置可见文本以移除管理字符。

ECI 标识符设定为单个斜杠和六位数字标识符 "\000026" - UTF8 ECI 标识符

ECI 标识符之后的所有 Unicode 字符将自动编码为正确的字符代码集。

ExtendedCodetext = 2

扩展模式,支持多种 ECI 模式。

最好使用 DotCodeExtCodetextBuilder 进行扩展编码文本生成。

使用 Display2DText 属性设置可见文本以移除管理字符。

ECI 标识符设定为单个斜杠和六位数字标识符 "\000026" - UTF8 ECI 标识符

ECI 标识符之后的所有 Unicode 字符将自动编码为正确的字符代码集。

示例

//自动模式与宏
var codetext = ""[)>\u001E05\u001DCodetextWithMacros05\u001E\u0004"";
using (var generator = new BarcodeGenerator(EncodeTypes.DotCode, codetext))
{
    generator.Save("test.bmp");
}

//自动模式
var codetext = "犬Right狗";
using (var generator = new BarcodeGenerator(EncodeTypes.DotCode, codetext))
{
    generator.Parameters.Barcode.DotCode.ECIEncoding = ECIEncodings.UTF8;
    generator.Save("test.bmp");
}

//字节模式
byte[] encodedArr = { 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9 };
using (var generator = new BarcodeGenerator(EncodeTypes.DotCode))
{
    generator.SetCodetext(encodedArr);
    generator.Parameters.Barcode.DotCode.DotCodeEncodeMode = DotCodeEncodeMode.Binary;
    generator.Save("test.bmp");
}

//扩展编码文本模式
//创建编码文本
DotCodeExtCodetextBuilder textBuilder = new DotCodeExtCodetextBuilder();
textBuilder.AddFNC1FormatIdentifier();
textBuilder.AddECICodetext(ECIEncodings.Win1251, "Will");
textBuilder.AddFNC1FormatIdentifier();
textBuilder.AddECICodetext(ECIEncodings.UTF8, "犬Right狗");
textBuilder.AddFNC3SymbolSeparator();
textBuilder.AddFNC1FormatIdentifier();
textBuilder.AddECICodetext(ECIEncodings.UTF16BE, "犬Power狗");
textBuilder.AddPlainCodetext("Plain text");

//生成编码文本
string codetext = textBuilder.GetExtendedCodetext();    

//生成
using(BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.DotCode, codetext))
{
    generator.Parameters.Barcode.DotCode.DotCodeEncodeMode = DotCodeEncodeMode.Extended;
	generator.Save("test.bmp");
}
 中文