Enum HanXinEncodeMode
Nombre del espacio: Aspose.BarCode.Generation Asamblea: Aspose.BarCode.dll (25.4.0)
Se recomienda utilizar Auto con caracteres ASCII / chinos o Unicode para caracteres Unicode.
public enum HanXinEncodeMode
Fields
Auto = 0
En modo automático, el CodeText está codificado con la máxima compacidad de datos.Los caracteres Unicode se codifican utilizando el codificación GB18030 de acuerdo con la especificación de código de barras HanXin.
Binary = 1
En el modo binario, el CodeText está codificado con la máxima compacidad de datos.Si se encuentra un personaje Unicode, se arroja una excepción.
ECI = 2
En el modo ECI, todo el mensaje se codifica de nuevo en la codificación especificada por ECIEncoding con la inserción de un identificador ECI.Si se encuentra un personaje que no está apoyado por la codificación ECI seleccionada, se arroja una excepción.Por favor, tenga en cuenta que algunos scanners antiguos (antes de 2006) pueden no soportar este modo.
Extended = 5
El modo extendido permite combinaciones de modos internos: Auto, Binario, Texto, Numerico, URI, Unicode, ECI, Región Común de China,Región común de China dos, GB18030 dos bytes, GB18030 cuatro bytes.El codetext puede ser construido manualmente con prefixes y duplicados, por ejemplo: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" o utilizando el HanXinExtCodetextBuilder.Si el codetext contiene un fragmento ECI, entonces sólo los siguientes modos pueden estar en ese codetext después del fragmento ECI:Auto, binario, texto, numérico, URI, ECI.
URI = 4
El modo URI indica los datos representados en el código Han Xin es un identificador de recursos uniforme (URI)En el caso de RFC 3986.
Unicode = 3
El modo Unicode diseña una forma de representar cualquier referencia de datos de texto a la codificación/charset UTF8 en el código 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");
}