Enum HanXinEncodeMode

Enum HanXinEncodeMode

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

Mode d’encodage du code Han Xin. Il est recommandé d’utiliser Auto avec des caractères ASCII / chinois ou Unicode pour les caractères Unicode.

public enum HanXinEncodeMode

Champs

Auto = 0

En mode Auto, le CodeText est encodé avec une compacité maximale des données. Les caractères Unicode sont encodés en utilisant l’encodage GB18030 selon la spécification du code-barres HanXin.

Binary = 1

En mode Binaire, le CodeText est encodé avec une compacité maximale des données. Si un caractère Unicode est trouvé, une exception est levée.

ECI = 2

En mode ECI, l’ensemble du message est ré-encodé dans l’encodage spécifié par ECIEncoding avec l’insertion d’un identifiant ECI. Si un caractère est trouvé qui n’est pas pris en charge par l’encodage ECI sélectionné, une exception est levée. Veuillez noter que certains anciens scanners (avant 2006) peuvent ne pas prendre en charge ce mode.

Extended = 5

Le mode Étendu permet des combinaisons de modes internes : Auto, Binaire, Texte, Numérique, URI, Unicode, ECI, Région Chinoise Commune Un, Région Chinoise Commune Deux, GB18030 Deux Octets, GB18030 Quatre Octets. Le codetext peut être construit manuellement avec des préfixes et des doubles barres obliques, par exemple : @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" ou en utilisant le HanXinExtCodetextBuilder. Si le codetext contient un fragment ECI, alors seuls les modes suivants peuvent être dans ce codetext après le fragment ECI : Auto, Binaire, Texte, Numérique, URI, ECI.

URI = 4

Le mode URI indique que les données représentées dans le code Han Xin sont un Identifiant de Ressource Uniforme (URI) en référence à la RFC 3986.

Unicode = 3

Le mode Unicode conçoit un moyen de représenter toute donnée textuelle en référence à l’encodage/jeu de caractères UTF8 dans le code Han Xin.

Exemples

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

// Mode Binaire
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");
}

// Mode 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");
}

// Mode 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");
}

// Mode 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");
}

// Mode Étendu
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");
}

// Utilisation de HanXinExtCodetextBuilder pour le mode Étendu (même codetext que dans l'exemple précédent)
// créer 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";

// générer codetext
var str = codeTextBuilder.GetExtendedCodetext();

// générer
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
    generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
    generator.Save("test.bmp");
}
 Français