Enum HanXinEncodeMode

Enum HanXinEncodeMode

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

Han Xin Code Kodierungsmodus. Es wird empfohlen, Auto mit ASCII / chinesischen Zeichen oder Unicode für Unicode-Zeichen zu verwenden.

public enum HanXinEncodeMode

Felder

Auto = 0

Im Automodus wird der CodeText mit maximaler Datenkompaktheit kodiert. Unicode-Zeichen werden gemäß der HanXin Barcode-Spezifikation mit der GB18030-Kodierung kodiert.

Binary = 1

Im Binärmodus wird der CodeText mit maximaler Datenkompaktheit kodiert. Wenn ein Unicode-Zeichen gefunden wird, wird eine Ausnahme ausgelöst.

ECI = 2

Im ECI-Modus wird die gesamte Nachricht in der angegebenen ECIEncoding neu kodiert, wobei ein ECI-Identifikator eingefügt wird. Wenn ein Zeichen gefunden wird, das von der ausgewählten ECI-Kodierung nicht unterstützt wird, wird eine Ausnahme ausgelöst. Bitte beachten Sie, dass einige alte (vor 2006) Scanner diesen Modus möglicherweise nicht unterstützen.

Extended = 5

Der erweiterte Modus erlaubt Kombinationen interner Modi: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Common Chinese Region One, Common Chinese Region Two, GB18030 Two Byte, GB18030 Four Byte. Der Codetext kann manuell mit Präfixen und doppelten Rückwärtsschrägstrichen aufgebaut werden, z.B.: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" oder unter Verwendung des HanXinExtCodetextBuilder. Wenn der Codetext ein ECI-Fragment enthält, können nur die folgenden Modi in diesem Codetext nach dem ECI-Fragment vorhanden sein: Auto, Binary, Text, Numeric, URI, ECI.

URI = 4

Der URI-Modus gibt an, dass die im Han Xin Code dargestellten Daten ein Uniform Resource Identifier (URI) sind, der auf RFC 3986 verweist.

Unicode = 3

Der Unicode-Modus entwirft eine Möglichkeit, beliebige Textdaten in Bezug auf UTF8-Kodierung/Charset im Han Xin Code darzustellen.

Beispiele

// Automodus
var codetext = "1234567890ABCDEFGabcdefg,Han Xin Code";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
    generator.Save("test.bmp");
}

// Binärmodus
byte[] encodedArr = { 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9 };
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin))
{
    generator.SetCodetext(encodedArr);
    generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Binary;
    generator.Save("test.bmp");
}

// ECI-Modus
var codetext = "ΑΒΓΔΕ";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
    generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.ECI;
    generator.Parameters.Barcode.HanXin.HanXinECIEncoding = ECIEncodings.ISO_8859_7;
    generator.Save("test.bmp");
}

// Unicode-Modus
var codetext = "abcd АБВ ıntəˈnæʃənəl テスト 안녕하세요 테스트 테스트";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
    generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Unicode;
    generator.Save("test.bmp");
}

// URI-Modus
var codetext = "https://www.test.com/%BC%DE%%%ab/search=test";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
    generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.URI;
    generator.Save("test.bmp");
}

// Erweiterter Modus
var str = @"\gb180302b:漄\gb180304b:㐁\region1:全\region2:螅\numeric:123\text:qwe\unicode:ıntəˈnæʃənəl" +
    @"\000009:ΑΒΓΔΕ\auto:abc\binary:abc\uri:backslashes_should_be_doubled\\000555:test";

var expectedStr = @"漄㐁全螅123qweıntəˈnæʃənəlΑΒΓΔΕabcabcbackslashes_should_be_doubled\000555:test";

using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
    generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
    generator.Save("test.bmp");
}

// Verwendung von HanXinExtCodetextBuilder für den erweiterten Modus (gleicher Codetext wie im vorherigen Beispiel)
//Codetext erstellen
var codeTextBuilder = new HanXinExtCodetextBuilder();
codeTextBuilder.AddGB18030TwoByte("漄");
codeTextBuilder.AddGB18030FourByte("㐁");
codeTextBuilder.AddCommonChineseRegionOne("全");
codeTextBuilder.AddCommonChineseRegionTwo("螅");
codeTextBuilder.AddNumeric("123");
codeTextBuilder.AddText("qwe");
codeTextBuilder.AddUnicode("ıntəˈnæʃənəl");
codeTextBuilder.AddECI("ΑΒΓΔΕ", 9);
codeTextBuilder.AddAuto("abc");
codeTextBuilder.AddBinary("abc");
codeTextBuilder.AddURI(@"backslashes_should_be_doubled\000555:test");

var expectedStr = @"漄㐁全螅123qweıntəˈnæʃənəlΑΒΓΔΕabcabcbackslashes_should_be_doubled\000555:test";

//Codetext generieren
var str = codeTextBuilder.GetExtendedCodetext();

//generieren
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
    generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
    generator.Save("test.bmp");
}
 Deutsch