Enum HanXinEncodeMode

Enum HanXinEncodeMode

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

한신 코드 인코딩 모드. ASCII / 중국어 문자 또는 유니코드 문자의 경우 자동을 사용하는 것이 좋습니다.

public enum HanXinEncodeMode

필드

Auto = 0

자동 모드에서는 코드 텍스트가 최대 데이터 압축으로 인코딩됩니다. 유니코드 문자는 한신 바코드 사양에 따라 GB18030 인코딩을 사용하여 인코딩됩니다.

Binary = 1

바이너리 모드에서는 코드 텍스트가 최대 데이터 압축으로 인코딩됩니다. 유니코드 문자가 발견되면 예외가 발생합니다.

ECI = 2

ECI 모드에서는 전체 메시지가 ECI 식별자를 삽입하여 지정된 ECI 인코딩으로 다시 인코딩됩니다. 선택한 ECI 인코딩에서 지원되지 않는 문자가 발견되면 예외가 발생합니다. 일부 오래된 (2006년 이전) 스캐너는 이 모드를 지원하지 않을 수 있습니다.

Extended = 5

확장 모드는 내부 모드의 조합을 허용합니다: 자동, 바이너리, 텍스트, 숫자, URI, 유니코드, ECI, 일반 중국 지역 1, 일반 중국 지역 2, GB18030 2바이트, GB18030 4바이트. 코드 텍스트는 접두사와 이중 백슬래시를 사용하여 수동으로 구축할 수 있습니다. 예: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" 또는 HanXinExtCodetextBuilder를 사용하여 생성할 수 있습니다. 코드 텍스트에 ECI 조각이 포함된 경우, 그 ECI 조각 이후의 코드 텍스트에는 다음 모드만 포함될 수 있습니다: 자동, 바이너리, 텍스트, 숫자, URI, ECI.

URI = 4

URI 모드는 한신 코드로 표현된 데이터가 RFC 3986에 대한 유니폼 리소스 식별자(URI)임을 나타냅니다.

Unicode = 3

유니코드 모드는 한신 코드에서 UTF8 인코딩/문자 집합을 참조하여 모든 텍스트 데이터를 표현하는 방법을 설계합니다.

예제

// 자동 모드
var codetext = "1234567890ABCDEFGabcdefg,한신 코드";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
    generator.Save("test.bmp");
}

// 바이너리 모드
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 모드
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");
}

// 유니코드 모드
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 모드
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");
}

// 확장 모드
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");
}

// HanXinExtCodetextBuilder를 사용한 확장 모드 (이전 예제와 동일한 코드 텍스트)
//코드 텍스트 생성
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";

//코드 텍스트 생성
var str = codeTextBuilder.GetExtendedCodetext();

//생성
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
    generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
    generator.Save("test.bmp");
}
 한국어