Enum HanXinEncodeMode
Namespace: Aspose.BarCode.Generation
Assembly: Aspose.BarCode.dll (25.1.0)
وضع ترميز رمز هان شين. يُوصى باستخدام Auto مع أحرف ASCII / الصينية أو Unicode لأحرف Unicode.
public enum HanXinEncodeMode
الحقول
Auto = 0
في وضع Auto، يتم ترميز CodeText بأقصى قدر من كفاءة البيانات. تتم ترميز أحرف Unicode باستخدام ترميز GB18030 وفقًا لمواصفات رمز هان شين.
Binary = 1
في وضع Binary، يتم ترميز CodeText بأقصى قدر من كفاءة البيانات. إذا تم العثور على حرف Unicode، يتم طرح استثناء.
ECI = 2
في وضع ECI، يتم إعادة ترميز الرسالة بالكامل في الترميز المحدد ECIEncoding مع إدراج معرف ECI. إذا تم العثور على حرف غير مدعوم من قبل الترميز ECI المحدد، يتم طرح استثناء. يرجى ملاحظة أن بعض الماسحات الضوئية القديمة (قبل 2006) قد لا تدعم هذا الوضع.
Extended = 5
يسمح وضع Extended بدمج الأوضاع الداخلية: Auto و Binary و Text و Numeric و URI و Unicode و ECI و Common Chinese Region One و Common Chinese Region Two و GB18030 Two Byte و GB18030 Four Byte. يمكن بناء Codetext يدويًا مع البادئات وشرطة مائلة مضاعفة، على سبيل المثال: @"\auto:abc\000009:ΑΒΓΔΕ\auto:ab\c" أو باستخدام HanXinExtCodetextBuilder. إذا كان codetext يحتوي على جزء ECI، فيمكن أن تكون الأوضاع التالية فقط في ذلك codetext بعد جزء ECI: Auto و Binary و Text و Numeric و URI و ECI.
URI = 4
يشير وضع URI إلى أن البيانات الممثلة في رمز هان شين هي معرف مورد موحد (URI) إشارة إلى RFC 3986.
Unicode = 3
يحدد وضع Unicode طريقة لتمثيل أي بيانات نصية بالإشارة إلى ترميز UTF8 / charset في رمز هان شين.
أمثلة
// وضع Auto
var codetext = "1234567890ABCDEFGabcdefg,Han Xin Code";
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, codetext))
{
generator.Save("test.bmp");
}
// وضع Binary
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");
}
// وضع 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");
}
// وضع 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");
}
// وضع Extended
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 لوضع Extended (نفس codetext كما في المثال السابق)
//إنشاء 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";
//توليد codetext
var str = codeTextBuilder.GetExtendedCodetext();
//توليد
using (var generator = new BarcodeGenerator(EncodeTypes.HanXin, str))
{
generator.Parameters.Barcode.HanXin.HanXinEncodeMode = HanXinEncodeMode.Extended;
generator.Save("test.bmp");
}