Enum HanXinEncodeMode
Namespace: Aspose.BarCode.Generation
Assembly: Aspose.BarCode.dll (25.1.0)
Режим кодування Han Xin Code. Рекомендується використовувати Auto з ASCII / китайськими символами або Unicode для символів Unicode.
public enum HanXinEncodeMode
Поля
Auto = 0
В режимі Auto текст коду кодується з максимальною компактністю даних. Символи Unicode кодуються за допомогою кодування GB18030 відповідно до специфікації штрих-коду HanXin.
Binary = 1
В режимі Binary текст коду кодується з максимальною компактністю даних. Якщо знайдено символ Unicode, викидається виняток.
ECI = 2
В режимі ECI все повідомлення повторно кодується у вказаному кодуванні ECIEncoding з вставкою ідентифікатора ECI. Якщо знайдено символ, який не підтримується обраним кодуванням ECI, викидається виняток. Зверніть увагу, що деякі старі (до 2006 року) сканери можуть не підтримувати цей режим.
Extended = 5
Розширений режим дозволяє комбінації внутрішніх режимів: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Common Chinese Region One, Common Chinese Region Two, GB18030 Two Byte, GB18030 Four Byte. Текст коду може бути побудований вручну з префіксами та подвоєними зворотними слешами, наприклад: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" або за допомогою HanXinExtCodetextBuilder. Якщо текст коду містить фрагмент ECI, тоді тільки наступні режими можуть бути в цьому тексті коду після фрагмента ECI: Auto, Binary, Text, Numeric, URI, ECI.
URI = 4
Режим URI вказує, що дані, представлені в Han Xin Code, є Уніфікованим Ідентифікатором Ресурсу (URI) з посиланням на RFC 3986.
Unicode = 3
Режим Unicode призначає спосіб представлення будь-яких текстових даних з посиланням на кодування/символьний набір UTF8 в Han Xin Code.
Приклади
// Режим Auto
var codetext = "1234567890ABCDEFGabcdefg,Han Xin Code";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
generator.Save("test.bmp");
}
// Режим 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");
}
// Режим 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");
}
// Режим 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");
}
// Режим 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");
}
// Режим 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");
}
// Використання HanXinExtCodetextBuilder для розширеного режиму (той самий текст коду, що в попередньому прикладі)
//створити текст коду
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";
//генерувати текст коду
var str = codeTextBuilder.GetExtendedCodetext();
//генерувати
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
generator.Save("test.bmp");
}