Enum HanXinEncodeMode

Enum HanXinEncodeMode

نام ها : Aspose.BarCode.Generation جمع آوری: WL18_.dll (25.4.0)

هان Xin کد رمزگذاری حالت. توصیه می شود برای استفاده از اتوماتیک با ASCII / کاراکترهای چینی و یا Unicode برای کاراکترهای Unicode.

public enum HanXinEncodeMode

Fields

Auto = 0

در حالت اتوماتیک، CodeText با حداکثر ضعف داده ها رمزگذاری می شود.کاراکترهای Unicode با استفاده از رمزگذاری GB18030 با توجه به مشخصات کد نوار HanXin رمزگذاری می شوند.

Binary = 1

در حالت باینری، CodeText با حداکثر پیچیدگی داده ها رمزگذاری می شود.اگر یک کاراکتر Unicode یافت شود، یک استثنا پرتاب می شود.

ECI = 2

در حالت ECI، کل پیام در رمزگذاری ECIEcoding مشخص شده با قرار دادن یک شناسه ECI دوباره رمزگذاری می شود.اگر یک کاراکتر یافت شود که توسط رمزگذاری ECI انتخاب شده پشتیبانی نمی شود، یک استثنا پرتاب می شود.لطفا توجه داشته باشید که برخی از اسکنر های قدیمی (قبل از 2006) ممکن است از این حالت پشتیبانی نکنند.

Extended = 5

حالت گسترش اجازه می دهد ترکیبی از حالت های داخلی: اتوماتیک، باینری، متن، عددی، URI، Unicode، ECI، منطقه مشترک چین،منطقه مشترک چین دو، GB18030 دو بایت، GB18030 چهار بایت.Codetext را می توان به صورت دستی با پیش فرض ها و پس زمینه های دوگانه ساخته، به عنوان مثال: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" یا با استفاده از HanXinExtCodetextBuilder.اگر کد متن حاوی یک قطعه ECI باشد، پس از قطعه ECI فقط حالت های زیر می تواند در آن کد متن باشد:اتوماتیک، دوگانه، متن، اعداد، URI، ECI.

URI = 4

حالت URI نشان می دهد که داده های نشان داده شده در Han Xin Code Uniform Resource Identifier (URI) است.به RFC 3986 اشاره کنید.

Unicode = 3

حالت Unicode یک راه برای نشان دادن هر گونه ارجاع داده های متنی به کدگذاری UTF8 / شارسیت در کد 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");
}
 فارسی