Enum HanXinEncodeMode

Enum HanXinEncodeMode

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

Han Xin Kodu kodlama modu. ASCII / Çince karakterler veya Unicode karakterler için Auto kullanılması önerilir.

public enum HanXinEncodeMode

Alanlar

Auto = 0

Auto modunda, CodeText maksimum veri sıkıştırması ile kodlanır. Unicode karakterleri, HanXin barkod spesifikasyonuna göre GB18030 kodlaması kullanılarak kodlanır.

Binary = 1

Binary modunda, CodeText maksimum veri sıkıştırması ile kodlanır. Eğer bir Unicode karakteri bulunursa, bir istisna fırlatılır.

ECI = 2

ECI modunda, tüm mesaj, bir ECI tanımlayıcısının eklenmesiyle belirtilen ECIEncoding kodlamasında yeniden kodlanır. Seçilen ECI kodlaması tarafından desteklenmeyen bir karakter bulunursa, bir istisna fırlatılır. Lütfen bazı eski (2006 öncesi) tarayıcıların bu modu desteklemeyebileceğini unutmayın.

Extended = 5

Extended modu, iç modların kombinasyonlarına izin verir: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Common Chinese Region One, Common Chinese Region Two, GB18030 İki Bayt, GB18030 Dört Bayt. Codetext, ön ekler ve çift ters eğik çizgiler ile manuel olarak oluşturulabilir, örneğin: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" veya HanXinExtCodetextBuilder kullanarak. Eğer codetext bir ECI parçası içeriyorsa, o zaman yalnızca ECI parçasından sonra o codetext içinde aşağıdaki modlar olabilir: Auto, Binary, Text, Numeric, URI, ECI.

URI = 4

URI modu, Han Xin Kodu’nda temsil edilen verilerin Uniform Resource Identifier (URI) olduğunu belirtir RFC 3986’ya referans olarak.

Unicode = 3

Unicode modu, Han Xin Kodu’nda herhangi bir metin verisini UTF8 kodlaması/karakter setine referansla temsil etmenin bir yolunu tasarlar.

Örnekler

// Auto modu
var codetext = "1234567890ABCDEFGabcdefg,Han Xin Kodu";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
    generator.Save("test.bmp");
}

// Binary modu
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 modu
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 modu
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 modu
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 modu
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 kullanarak Extended mod için (önceki örnekteki ile aynı codetext)
//codetext oluştur
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";

//codetext oluştur
var str = codeTextBuilder.GetExtendedCodetext();

//oluştur
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
    generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
    generator.Save("test.bmp");
}
 Türkçe