Enum HanXinEncodeMode
이름 공간 : Aspose.BarCode.Generation 모임: Aspose.BarCode.dll (25.4.0)
Han Xin 코드 암호화 모드. ASCII / 중국 문자 또는 Unicode Unicode 문자와 함께 자동을 사용하는 것이 좋습니다.
public enum HanXinEncodeMode
Fields
Auto = 0
자동 모드에서 CodeText는 최대 데이터 컴팩트성으로 암호화됩니다.Unicode 캐릭터는 HanXin 바코드 사양에 따라 GB18030 암호화를 사용하여 암호화됩니다.
Binary = 1
바이너리 모드에서 CodeText는 최대 데이터 컴팩트성으로 암호화됩니다.Unicode 캐릭터가 발견되면 예외가 던져집니다.
ECI = 2
ECI 모드에서 전체 메시지는 ECI 식별자를 삽입함으로써 ECIEcoding에 지정된 암호화로 다시 암호화됩니다.선택한 ECI 암호화에 의해 지원되지 않은 캐릭터가 발견되면 예외가 던져집니다.일부 오래된 (2006 이전) 스캐너가 이 모드를 지원하지 않을 수도 있습니다.
Extended = 5
확장 모드는 내부 모드의 조합을 허용합니다 : 자동, 바이너리, 텍스트, 숫자, URI, 유니코드, ECI, 일반 중국 지역 하나,일반 중국 지역 두, GB18030 두 바이트, GB18030 네 바이트.코드텍스트는 사전 설정 및 두 배의 배크래시를 사용하여 수동으로 만들 수 있습니다, 예를 들어: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c"또는 HanXinExtCodetextBuilder를 사용하여.코드텍스트가 ECI 조각을 포함하는 경우, 다음 모드만이 ECI 조각 후에 그 코드텍스트에있을 수 있습니다 :자동, 바이너리, 텍스트, 숫자, URI, ECI
URI = 4
URI 모드는 Han Xin 코드에 표시된 데이터를 Uniform Resource Identifier (URI)로 표시합니다.RFC 3986에 대한 참조
Unicode = 3
Unicode 모드는 Han Xin 코드에서 UTF8 암호화/차르세트에 대한 모든 텍스트 데이터 참조를 나타내는 방법을 설계합니다.
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");
}