Enum HanXinEncodeMode
Tên không gian: Aspose.BarCode.Generation Tổng hợp: Aspose.BarCode.dll (25.4.0)
Nó được khuyến khích để sử dụng Auto với ASCII / ký tự Trung Quốc hoặc Unicode cho ký tự Unicode.
public enum HanXinEncodeMode
Fields
Auto = 0
Trong chế độ tự động, CodeText được mã hóa với độ nhỏ gọn dữ liệu tối đa.Các ký tự Unicode được mã hóa bằng cách sử dụng mã hóa GB18030 theo thông số mã thanh HanXin.
Binary = 1
Trong chế độ nhị phân, CodeText được mã hóa với độ nhỏ gọn dữ liệu tối đa.Nếu một nhân vật Unicode được tìm thấy, một ngoại lệ được ném ra.
ECI = 2
Trong chế độ ECI, toàn bộ thông điệp được mã hóa lại trong ECIEcoding cụ thể mã hóa với việc nhập một ID ECI.Nếu một nhân vật được tìm thấy không được hỗ trợ bởi mã hóa ECI đã chọn, một ngoại lệ được ném.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ế độ mở rộng cho phép kết hợp các chế độ nội bộ: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Common Chinese Region One,Khu vực Trung Quốc chung Hai, GB18030 Hai Byte, GB18030 Bốn Byte.Codetext có thể được xây dựng bằng tay với các bản cài đặt trước và các backlash gấp đôi, ví dụ: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" hoặc bằng cách sử dụng HanXinExtCodetextBuilder.Nếu văn bản mã chứa một mảnh ECI, thì chỉ có các chế độ sau đây có thể được trong văn bản mã sau mảnh ECI:Auto, Binary, Text, Số, URI, ECI.
URI = 4
chế độ URI cho thấy dữ liệu được trình bày trong mã Han Xin là ID nguồn thống nhất (URI)Đánh giá về RFC 3986
Unicode = 3
chế độ Unicode thiết kế một cách để đại diện bất kỳ dữ liệu văn bản tham chiếu đến UTF8 mã hóa/charset trong mã Han Xin.
Examples
// Auto mode
var codetext = "1234567890ABCDEFGabcdefg,Han Xin Code";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
generator.Save("test.bmp");
}
// Binary mode
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 mode
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 mode
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 mode
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 mode
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");
}
// Using HanXinExtCodetextBuilder for Extended mode (same codetext as in previous example)
//create 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";
//generate codetext
var str = codeTextBuilder.GetExtendedCodetext();
//generate
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
generator.Save("test.bmp");
}