Enum HanXinEncodeMode
Nom dels espais: Aspose.BarCode.Generation Assemblea: Aspose.BarCode.dll (25.4.0)
Es recomana utilitzar Auto amb caràcters ASCII / xinès o Unicode per a caràcters Unicode.
public enum HanXinEncodeMode
Fields
Auto = 0
En mode automàtic, el CodeText està encodat amb la màxima compacitat de dades.Els caràcters d’unicode s’encoden utilitzant el codi GB18030 d’acord amb la especificació de codi de barra HanXin.
Binary = 1
En el mode binari, el CodeText està encodat amb la màxima compacitat de dades.Si es troba un caràcter Unicode, es llança una excepci.
ECI = 2
En el mode ECI, tot el missatge es reencodarà en l’ECIEcodificació especificada amb la inserció d’un identificador ECI.Si es troba un caràcter que no està recolzat per la codificació ECI seleccionada, es llança una excepci.Si us plau, tingueu en compte que alguns scanners antics (abans de 2006) poden no donar suport a aquest mode.
Extended = 5
El mode ampliat permet combinacions de modes interns: Auto, Binari, Text, Numeric, URI, Unicode, ECI, Regió Comú de la Xina,Regió Xina comuna dos, GB18030 dos bytes, GB18030 quatre bytes.El codetext es pot construir manualment amb prefix i duplicats, per exemple: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" o utilitzant el HanXinExtCodetextBuilder.Si el codetext conté un fragment ECI, només poden estar en aquest codetext els següents modes després del fragment ECI:Auto, binari, text, numèric, URI, ECI.
URI = 4
El mode URI indica les dades representades en el codi Han Xin és un identificador de recursos uniforme (URI)Es tracta de la RFC 3986.
Unicode = 3
El mode Unicode dissenya una manera de representar qualsevol referència de dades de text a la codificació / carset UTF8 en el codi 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");
}