Enum HanXinEncodeMode
Namespace: Aspose.BarCode.Generation
Assembly: Aspose.BarCode.dll (25.1.0)
حالت کدگذاری Han Xin. توصیه میشود از حالت خودکار با کاراکترهای ASCII / چینی یا Unicode برای کاراکترهای Unicode استفاده شود.
public enum HanXinEncodeMode
فیلدها
Auto = 0
در حالت خودکار، متن کد با حداکثر فشردگی دادهها کدگذاری میشود.
کاراکترهای Unicode با استفاده از کدگذاری GB18030 طبق مشخصات بارکد HanXin کدگذاری میشوند.
Binary = 1
در حالت باینری، متن کد با حداکثر فشردگی دادهها کدگذاری میشود.
اگر یک کاراکتر Unicode پیدا شود، یک استثنا پرتاب میشود.
ECI = 2
در حالت ECI، کل پیام دوباره با کدگذاری مشخص شده ECIEncoding کدگذاری میشود و یک شناسه ECI وارد میشود.
اگر کاراکتری پیدا شود که توسط کدگذاری ECI انتخاب شده پشتیبانی نمیشود، یک استثنا پرتاب میشود.
لطفاً توجه داشته باشید که برخی از اسکنرهای قدیمی (قبل از 2006) ممکن است از این حالت پشتیبانی نکنند.
Extended = 5
حالت گسترش اجازه میدهد ترکیبهایی از حالتهای داخلی: خودکار، باینری، متن، عددی، URI، Unicode، ECI، منطقه مشترک چینی یک،
منطقه مشترک چینی دو، GB18030 دو بایت، GB18030 چهار بایت.
متن کد میتواند بهصورت دستی با پیشوندها و بکاسلشهای دو برابر ساخته شود، به عنوان مثال: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" یا با استفاده از HanXinExtCodetextBuilder.
اگر متن کد شامل یک بخش ECI باشد، تنها حالتهای زیر میتوانند در آن متن کد پس از بخش ECI وجود داشته باشند:
خودکار، باینری، متن، عددی، URI، ECI.
URI = 4
حالت URI نشان میدهد که دادههای نمایندگی شده در کد Han Xin یک شناسه منبع یکنواخت (URI)
است که به RFC 3986 اشاره دارد.
Unicode = 3
حالت Unicode روشی را برای نمایندگی هر داده متنی بهعنوان ارجاع به کدگذاری/کاراکتر UTF8 در کد Han Xin طراحی میکند.
مثالها
// حالت خودکار
var codetext = "1234567890ABCDEFGabcdefg,Han Xin Code";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
generator.Save("test.bmp");
}
// حالت باینری
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");
}
// حالت گسترش
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");
}