Enum QREncodeMode
نام ها : Aspose.BarCode.Generation جمع آوری: WL18_.dll (25.4.0)
حالت رمزگذاری برای QR بارکد
public enum QREncodeMode
Fields
Auto = 0
در حالت اتوماتیک، CodeText با حداکثر ضعف داده ها رمزگذاری می شود.در صورت امکان، کاراکترهای یونیکود در حالت کانجی رمزگذاری می شوند یا در رمزگذاری ECIEnc مشخص شده با قرار دادن یک شناسه ECI رمزگذاری می شوند.اگر یک کاراکتر یافت شود که توسط رمزگذاری ECI انتخاب شده پشتیبانی نمی شود، یک استثنا پرتاب می شود.
Binary = 7
در حالت باینری، CodeText با حداکثر پیچیدگی داده ها رمزگذاری می شود.اگر یک کاراکتر Unicode یافت شود، یک استثنا پرتاب می شود.
Bytes = 1
اگر هر کاراکتر Unicode را شناسایی کند، کاراکتر به عنوان دو بایت رمزگذاری می شود، بایت پایین تر اول.
ECI = 8
در حالت ECI، کل پیام در رمزگذاری ECIEcoding مشخص شده با قرار دادن یک شناسه ECI دوباره رمزگذاری می شود.اگر یک کاراکتر یافت شود که توسط رمزگذاری ECI انتخاب شده پشتیبانی نمی شود، یک استثنا پرتاب می شود.لطفا توجه داشته باشید که برخی از اسکنر های قدیمی (قبل از 2006) ممکن است از این حالت پشتیبانی نکنند.این حالت با کد های نوار MicroQR پشتیبانی نمی شود.
ECIEncoding = 4
کد متن با ارزش تنظیم شده در ویژگی ECIEcoding. این می تواند مشکلات با برخی از اسکنر های بارکد قدیمی (قبل از 2006) باشد.این حالت با کد های نوار MicroQR پشتیبانی نمی شود.
Extended = 6
حالت کانال گسترش یافته که FNC1 موقعیت اول، FNC1 موقعیت دوم و چند حالت ECI را پشتیبانی می کند.
بهتر است از QrExtCodetextBuilder برای تولید بیشتر کد متن استفاده کنید.
از ویژگی Display2DText برای تنظیم متن قابل مشاهده برای حذف کاراکترهای مدیریت استفاده کنید.
اصول کدگذاری :
تمام نمادهای “" باید در متن کد “" تکرار شوند.
FNC1 در رتبه اول در کد متن به عنوان “
FNC1 در موقعیت دوم در کد متن به عنوان “<FNC1(قیمت)>” تنظیم می شود.قیمت باید نمادهای تک (a-z، A-Z) یا اعداد از 0 تا 99 باشد.
گروه جداساز برای حالت های FNC1 به عنوان 0x1D کاراکتر ‘\u001D’ تنظیم شده است
اگر شما نیاز به وارد کردن “
شناسه های ECI به عنوان یک اسلاید و شش اعداد شناسه “\000026” تنظیم می شوند - UTF8 شناسه ECI
برای غیرفعال کردن حالت فعلی ECI و تبدیل به حالت پیش فرض JIS8 حالت صفر ECI indetifier تنظیم شده است.
تمام کاراکترهای یونیکود پس از شناسه ECI به طور خودکار به codeset کاراکتر صحیح رمزگذاری می شوند.
این حالت با کد های نوار MicroQR پشتیبانی نمی شود.
ExtendedCodetext = 5
حالت کانال گسترش یافته که FNC1 موقعیت اول، FNC1 موقعیت دوم و چند حالت ECI را پشتیبانی می کند.
بهتر است از QrExtCodetextBuilder برای تولید بیشتر کد متن استفاده کنید.
از ویژگی Display2DText برای تنظیم متن قابل مشاهده برای حذف کاراکترهای مدیریت استفاده کنید.
اصول کدگذاری :
تمام نمادهای “" باید در متن کد “" تکرار شوند.
FNC1 در رتبه اول در کد متن به عنوان “
FNC1 در موقعیت دوم در کد متن به عنوان “<FNC1(قیمت)>” تنظیم می شود.قیمت باید نمادهای تک (a-z، A-Z) یا اعداد از 0 تا 99 باشد.
گروه جداساز برای حالت های FNC1 به عنوان 0x1D کاراکتر ‘\u001D’ تنظیم شده است
اگر شما نیاز به وارد کردن “
شناسه های ECI به عنوان یک اسلاید و شش اعداد شناسه “\000026” تنظیم می شوند - UTF8 شناسه ECI
برای غیرفعال کردن حالت فعلی ECI و تبدیل به حالت پیش فرض JIS8 حالت صفر ECI indetifier تنظیم شده است.
تمام کاراکترهای یونیکود پس از شناسه ECI به طور خودکار به codeset کاراکتر صحیح رمزگذاری می شوند.
این حالت با کد های نوار MicroQR پشتیبانی نمی شود.
Utf16BEBOM = 3
کد متن با کدگذاری UTF8 با اولین کاراکتر ByteOfMark. این می تواند مشکلات با برخی از اسکنر کد نوار باشد.
Utf8BOM = 2
کدگذاری با کدگذاری UTF8 با اولین کاراکتر ByteOfMark
Examples
این نمونه ها نشان می دهد که چگونه رمزگذاری و ذخیره کد نوار QR با فرمت های داده گسترش یافته است.
//This sample shows how to use ECI encoding and save a BarCode image.
[C#]
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = "12345TEXT";
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.ECIEncoding;
generator.Parameters.Barcode.QR.QrECIEncoding = ECIEncodings.UTF8;
generator.Save("test.png");
}
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = "12345TEXT"
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.ECIEncoding
generator.Parameters.Barcode.QR.QrECIEncoding = ECIEncodings.UTF8
generator.Save("test.png")
End Using
//This sample shows how to use FNC1 first position in Extended Mode.
//Extended Channel mode which supports FNC1 first position, FNC1 second position and multi ECI modes.
//It is better to use QrExtCodetextBuilder for extended codetext generation.
//Use Display2DText property to set visible text to removing managing characters.
//Encoding Principles:
//All symbols "\" must be doubled "\\" in the codetext.
//FNC1 in first position is set in codetext as as "<FNC1>"
//FNC1 in second position is set in codetext as as "<FNC1(value)>". The value must be single symbols (a-z, A-Z) or digits from 0 to 99.
//Group Separator for FNC1 modes is set as 0x1D character '\\u001D'
//If you need to insert "<FNC1>" string into barcode write it as "<\FNC1>"
//ECI identifiers are set as single slash and six digits identifier "\000026" - UTF8 ECI identifier
//To disable current ECI mode and convert to default JIS8 mode zero mode ECI indetifier is set. "\000000"
//All unicode characters after ECI identifier are automatically encoded into correct character codeset.
[C#]
//create codetext
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddFNC1FirstPosition();
textBuilder.AddPlainCodetext("000%89%%0");
textBuilder.AddFNC1GroupSeparator();
textBuilder.AddPlainCodetext("12345<FNC1>");
//generate barcode
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = textBuilder.GetExtendedCodetext();
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended;
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text";
generator.Save(@"d:\test.png");
}
'create codetext
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddFNC1FirstPosition()
textBuilder.AddPlainCodetext("000%89%%0")
textBuilder.AddFNC1GroupSeparator()
textBuilder.AddPlainCodetext("12345<FNC1>")
'generate barcode
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = textBuilder.GetExtendedCodetext()
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text"
generator.Save("test.png")
End Using
//This sample shows how to use FNC1 second position in Extended Mode.
[C#]
//create codetext
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddFNC1SecondPosition("12");
textBuilder.AddPlainCodetext("TRUE3456");
//generate barcode
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = textBuilder.GetExtendedCodetext();
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended;
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text";
generator.Save(@"d:\test.png");
}
'create codetext
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddFNC1SecondPosition("12")
textBuilder.AddPlainCodetext("TRUE3456")
'generate barcode
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = textBuilder.GetExtendedCodetext()
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text"
generator.Save("test.png")
End Using
//This sample shows how to use multi ECI mode in Extended Mode.
[C#]
//create codetext
QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
textBuilder.AddECICodetext(ECIEncodings.Win1251, "Will");
textBuilder.AddECICodetext(ECIEncodings.UTF8, "Right");
textBuilder.AddECICodetext(ECIEncodings.UTF16BE, "Power");
textBuilder.AddPlainCodetext(@"t\e\\st");
//generate barcode
using (Aspose.BarCode.Generation.BarcodeGenerator generator = new Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR))
{
generator.CodeText = textBuilder.GetExtendedCodetext();
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extendedt;
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text";
generator.Save(@"d:\test.png");
}
'create codetext
Dim textBuilder As New QrExtCodetextBuilder()
textBuilder.AddECICodetext(ECIEncodings.Win1251, "Will")
textBuilder.AddECICodetext(ECIEncodings.UTF8, "Right")
textBuilder.AddECICodetext(ECIEncodings.UTF16BE, "Power")
textBuilder.AddPlainCodetext(@"t\e\\st")
'generate barcode
Using generator As New Aspose.BarCode.Generation.BarcodeGenerator(EncodeTypes.QR)
generator.CodeText = textBuilder.GetExtendedCodetext()
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Extended
generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = "My Text"
generator.Save("test.png")
End Using