Enum HanXinEncodeMode

Enum HanXinEncodeMode

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

Chế độ mã hóa Han Xin Code. Nên sử dụng Auto với ký tự ASCII / Trung Quốc hoặc Unicode cho các ký tự Unicode.

public enum HanXinEncodeMode

Các trường

Auto = 0

Trong chế độ Auto, CodeText được mã hóa với độ nén dữ liệu tối đa. Các ký tự Unicode được mã hóa bằng mã hóa GB18030 theo thông số kỹ thuật mã vạch HanXin.

Binary = 1

Trong chế độ Binary, CodeText được mã hóa với độ nén dữ liệu tối đa. Nếu một ký tự Unicode được tìm thấy, một ngoại lệ sẽ được ném ra.

ECI = 2

Trong chế độ ECI, toàn bộ thông điệp được mã hóa lại trong mã hóa ECIEncoding được chỉ định với việc chèn một định danh ECI. Nếu một ký tự được tìm thấy không được hỗ trợ bởi mã hóa ECI đã chọn, một ngoại lệ sẽ được ném ra. Xin lưu ý rằng một số máy quét cũ (trước năm 2006) có thể không hỗ trợ chế độ này.

Extended = 5

Chế độ Extended cho phép kết hợp các chế độ nội bộ: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Khu vực Trung Quốc thông thường Một, Khu vực Trung Quốc thông thường Hai, GB18030 Hai Byte, GB18030 Bốn Byte. Codetext có thể được xây dựng thủ công với các tiền tố và dấu gạch chéo gấp đôi, ví dụ: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" hoặc sử dụng HanXinExtCodetextBuilder. Nếu codetext chứa một đoạn ECI, thì chỉ có các chế độ sau có thể có trong codetext đó sau đoạn ECI: Auto, Binary, Text, Numeric, URI, ECI.

URI = 4

Chế độ URI chỉ ra rằng dữ liệu được biểu diễn trong Han Xin Code là Định danh Tài nguyên Đồng nhất (URI) tham chiếu đến RFC 3986.

Unicode = 3

Chế độ Unicode thiết kế một cách để biểu diễn bất kỳ dữ liệu văn bản nào tham chiếu đến mã hóa/charset UTF8 trong Han Xin Code.

Ví dụ

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

// Chế độ 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");
}

// Chế độ 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");
}

// Chế độ 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");
}

// Chế độ 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");
}

// Chế độ 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");
}

// Sử dụng HanXinExtCodetextBuilder cho chế độ Extended (cùng codetext như trong ví dụ trước)
//tạo codetext
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";

//tạo codetext
var str = codeTextBuilder.GetExtendedCodetext();

//tạo
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
    generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
    generator.Save("test.bmp");
}
 Tiếng Việt