Enum HanXinEncodeMode
Nama dari : Aspose.BarCode.Generation Perhitungan: Aspose.BarCode.dll (25.4.0)
Sarankan untuk menggunakan Auto dengan karakter ASCII / Cina atau Unicode untuk karakter Unicode.
public enum HanXinEncodeMode
Fields
Auto = 0
Dalam mode otomatis, CodeText dikodkan dengan kompak data maksimum.Karakter Unicode dikodkan menggunakan kode GB18030 sesuai dengan spesifikasi kode bar HanXin.
Binary = 1
Dalam mode biner, CodeText dikodkan dengan kompak data maksimum.Jika karakter Unicode ditemukan, pengecualian dibuang.
ECI = 2
Dalam mode ECI, seluruh pesan dikodkan kembali dalam ECIEcoding yang ditentukan dengan memasukkan ID ECI.Jika karakter ditemukan yang tidak didukung oleh kode ECI yang dipilih, pengecualian dibuang.Harap dicatat bahwa beberapa scanner lama (sebelum 2006) mungkin tidak mendukung mode ini.
Extended = 5
Mode lanjutan memungkinkan kombinasi mode internal: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Common Chinese Region One,Umum China Region Dua, GB18030 Dua Byte, GB18030 Empat Byte.Codetext dapat dibuat secara manual dengan prefix dan duplikat backlash, misalnya: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" atau menggunakan HanXinExtCodetextBuilder.Jika kode teks mengandung fragmen ECI, maka hanya mode berikut dapat berada di kode teks tersebut setelah fragmen ECI:Auto, Binary, Text, Numeric, URI, dan ECI.
URI = 4
Mode URI menunjukkan data yang diwakili dalam Han Xin Code adalah Uniform Resource Identifier (URI)Hal ini dikarenakan RFC 3986.
Unicode = 3
Mode Unicode merancang cara untuk mewakili setiap referensi data teks ke UTF8 coding/charset dalam Han Xin Code.
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");
}