Enum HanXinEncodeMode
Namespace: Aspose.BarCode.Generation
Assembly: Aspose.BarCode.dll (25.1.0)
Modalità di codifica del codice Han Xin. Si consiglia di utilizzare Auto con caratteri ASCII / cinesi o Unicode per i caratteri Unicode.
public enum HanXinEncodeMode
Campi
Auto = 0
In modalità Auto, il CodeText è codificato con la massima compattezza dei dati. I caratteri Unicode sono codificati utilizzando la codifica GB18030 secondo la specifica del codice a barre HanXin.
Binary = 1
In modalità Binary, il CodeText è codificato con la massima compattezza dei dati. Se viene trovato un carattere Unicode, viene generata un’eccezione.
ECI = 2
In modalità ECI, l’intero messaggio viene ricodificato nella codifica ECIEncoding specificata con l’inserimento di un identificatore ECI. Se viene trovato un carattere non supportato dalla codifica ECI selezionata, viene generata un’eccezione. Si prega di notare che alcuni scanner vecchi (pre 2006) potrebbero non supportare questa modalità.
Extended = 5
La modalità Extended consente combinazioni di modalità interne: Auto, Binary, Text, Numeric, URI, Unicode, ECI, Regione Cinese Comune Uno, Regione Cinese Comune Due, GB18030 Due Byte, GB18030 Quattro Byte. Il codetext può essere costruito manualmente con prefissi e doppie barre inverse, ad esempio: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" o utilizzando il HanXinExtCodetextBuilder. Se il codetext contiene un frammento ECI, allora solo le seguenti modalità possono essere in quel codetext dopo il frammento ECI: Auto, Binary, Text, Numeric, URI, ECI.
URI = 4
La modalità URI indica che i dati rappresentati nel codice Han Xin sono un Identificatore di Risorsa Uniforme (URI) riferito a RFC 3986.
Unicode = 3
La modalità Unicode progetta un modo per rappresentare qualsiasi dato di testo riferito alla codifica/charset UTF8 nel codice Han Xin.
Esempi
// Modalità Auto
var codetext = "1234567890ABCDEFGabcdefg,Han Xin Code";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
generator.Save("test.bmp");
}
// Modalità Binary
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");
}
// Modalità 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");
}
// Modalità 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");
}
// Modalità 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");
}
// Modalità Extended
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");
}
// Utilizzando HanXinExtCodetextBuilder per la modalità Extended (stesso codetext dell'esempio precedente)
//crea 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";
//genera codetext
var str = codeTextBuilder.GetExtendedCodetext();
//genera
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
generator.Save("test.bmp");
}