Enum HanXinEncodeMode

Enum HanXinEncodeMode

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

Han Xin Code kodningsläge. Det rekommenderas att använda Auto med ASCII / kinesiska tecken eller Unicode för Unicode-tecken.

public enum HanXinEncodeMode

Fält

Auto = 0

I Auto-läge kodas CodeText med maximal datakompatibilitet. Unicode-tecken kodas med GB18030-kodning enligt HanXin streckkodsspecifikation.

Binary = 1

I Binary-läge kodas CodeText med maximal datakompatibilitet. Om ett Unicode-tecken hittas kastas ett undantag.

ECI = 2

I ECI-läge kodas hela meddelandet om i den angivna ECIEncoding med insättning av en ECI-identifierare. Om ett tecken hittas som inte stöds av den valda ECI-kodningen kastas ett undantag. Observera att vissa gamla (före 2006) skannrar kanske inte stöder detta läge.

Extended = 5

Extended-läge tillåter kombinationer av interna lägen: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Common Chinese Region One, Common Chinese Region Two, GB18030 Two Byte, GB18030 Four Byte. Kodtext kan byggas manuellt med prefix och dubbla bakåtsnedvridningar, t.ex.: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" eller med hjälp av HanXinExtCodetextBuilder. Om kodtexten innehåller ett ECI-fragment kan endast följande lägen vara i den kodtexten efter ECI-fragmentet: Auto, Binary, Text, Numeric, URI, ECI.

URI = 4

URI-läge indikerar att datan som representeras i Han Xin Code är en Uniform Resource Identifier (URI) referens till RFC 3986.

Unicode = 3

Unicode-läge utformar ett sätt att representera vilken textdata som helst med referens till UTF8-kodning/teckenuppsättning i Han Xin Code.

Exempel

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

// Binary-läge
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-läge
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-läge
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-läge
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");
}

// Extended-läge
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");
}

// Använda HanXinExtCodetextBuilder för Extended-läge (samma kodtext som i föregående exempel)
//skapa kodtext
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";

//generera kodtext
var str = codeTextBuilder.GetExtendedCodetext();

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