Enum HanXinEncodeMode
Namespace: Aspose.BarCode.Generation
Assembly: Aspose.BarCode.dll (25.1.0)
Režim kódování Han Xin Code. Doporučuje se použít Auto s ASCII / čínskými znaky nebo Unicode pro znaky Unicode.
public enum HanXinEncodeMode
Políčka
Auto = 0
V režimu Auto je CodeText kódován s maximální kompaktností dat. Znaky Unicode jsou kódovány pomocí kódování GB18030 podle specifikace čárového kódu HanXin.
Binary = 1
V režimu Binary je CodeText kódován s maximální kompaktností dat. Pokud je nalezen znak Unicode, je vyhozena výjimka.
ECI = 2
V režimu ECI je celá zpráva znovu kódována v kódování ECIEncoding s vložením identifikátoru ECI. Pokud je nalezen znak, který není podporován vybraným kódováním ECI, je vyhozena výjimka. Vezměte prosím na vědomí, že některé staré skenery (před rokem 2006) nemusí tento režim podporovat.
Extended = 5
Režim Extended umožňuje kombinace interních režimů: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Common Chinese Region One, Common Chinese Region Two, GB18030 Two Byte, GB18030 Four Byte. Codetext může být sestaven ručně s prefixy a zdvojenými zpětnými lomítky, např.: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" nebo pomocí HanXinExtCodetextBuilder. Pokud codetext obsahuje fragment ECI, pak mohou být v tomto codetextu po fragmentu ECI pouze následující režimy: Auto, Binary, Text, Numeric, URI, ECI.
URI = 4
Režim URI označuje, že data reprezentovaná v Han Xin Code jsou Uniform Resource Identifier (URI) odkaz na RFC 3986.
Unicode = 3
Režim Unicode navrhuje způsob, jak reprezentovat jakákoli textová data s odkazem na kódování/charset UTF8 v Han Xin Code.
Příklady
// Režim Auto
var codetext = "1234567890ABCDEFGabcdefg,Han Xin Code";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
generator.Save("test.bmp");
}
// Režim Binary
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");
}
// Režim ECI
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");
}
// Režim Unicode
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");
}
// Režim URI
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");
}
// Režim Extended
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");
}
// Použití HanXinExtCodetextBuilder pro režim Extended (stejný codetext jako v předchozím příkladu)
// vytvoření codetextu
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";
// generování codetextu
var str = codeTextBuilder.GetExtendedCodetext();
// generování
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
generator.Save("test.bmp");
}