Enum QREncodeMode
ชื่อพื้นที่: Aspose.BarCode.Generation การประกอบ: Aspose.BarCode.dll (25.4.0)
โหมดรหัสสําหรับรหัสบาร์ QR
public enum QREncodeMode
Fields
Auto = 0
ในโหมดอัตโนมัติ CodeText จะเข้ารหัสด้วยความกะทัดรัดข้อมูลสูงสุดตัวอักษร Unicode จะเข้ารหัสในโหมด kanji ถ้าเป็นไปได้หรือพวกเขาจะเข้ารหัสอีกครั้งใน ECIEncoding ที่ระบุเข้ารหัสด้วยการใส่ตัวระบุ ECIหากคุณพบตัวอักษรที่ไม่ได้รับการสนับสนุนโดยการเข้ารหัส ECI ที่เลือกตัวอักษรนี้จะถูกยกเว้น
Binary = 7
ในโหมดไบนารี CodeText จะเข้ารหัสด้วยความกะทัดรัดข้อมูลสูงสุดหากคุณพบตัวอักษร Unicode ตัวอักษร Unicode จะถูกยกเว้น
Bytes = 1
การเข้ารหัสข้อความเป็นไบต์เรียบ หากจะตรวจจับตัวละคร Unicode หมายเลขจะเข้ารหัสเป็นไบต์สองไบต์ต่ํากว่าไบต์แรก
ECI = 8
ในโหมด ECI ข้อความทั้งหมดจะถูกเข้ารหัสอีกครั้งใน ECIEncoding ที่ระบุเข้ารหัสด้วยการใส่ตัวระบุ ECIหากคุณพบตัวอักษรที่ไม่ได้รับการสนับสนุนโดยการเข้ารหัส ECI ที่เลือกตัวอักษรนี้จะถูกยกเว้นโปรดทราบว่าสแกนเนอร์เก่า (ก่อน 2006) บางคนอาจไม่สนับสนุนโหมดนี้โหมดนี้ไม่ได้สนับสนุนด้วยรหัสบาร์ MicroQR
ECIEncoding = 4
การเข้ารหัสข้อความที่มีค่าที่กําหนดไว้ในคุณสมบัติการเข้ารหัส ECIE มันอาจเป็นปัญหากับสแกนบาร์โค้ดเก่า (ก่อน 2006)โหมดนี้ไม่ได้สนับสนุนด้วยรหัสบาร์ MicroQR
Extended = 6
โหมดช่องขยายที่สนับสนุน FNC1 ตําแหน่งแรก FNC1 ตําแหน่งที่สองและโหมด ECI มัลติ
มันดีกว่าที่จะใช้ QrExtCodetextBuilder สําหรับการสร้าง codetext ที่ขยายได้
ใช้คุณสมบัติ Display2DText เพื่อตั้งข้อความที่เห็นเพื่อลบตัวอักษรการจัดการ
หลักการเข้ารหัส:
สัญลักษณ์ “" ทั้งหมดจะต้องทําคู่ “" ในข้อความโค้ด
FNC1 ในตําแหน่งแรกที่กําหนดไว้ในโค้ดเป็น “
FNC1 ในตําแหน่งที่สองจะตั้งไว้ในโค้ดเป็น “<FNC1(มูลค่า)>” ราคาจะต้องเป็นสัญลักษณ์เดียว (a-z, A-Z) หรือหมายเลขจาก 0 ถึง 99.
กลุ่มแยกสําหรับโหมด FNC1 ได้รับการตั้งค่าเป็นตัวอักษร 0x1D ‘\u001D’
หากคุณต้องการใส่ string “
ตัวระบุ ECI ได้รับการตั้งค่าเป็นตัวระบุเดียวและตัวระบุตัวเลขหก “\000026” - ตัวระบุ UTF8 ECI
เพื่อปิดใช้งานโหมด ECI ปัจจุบันและแปลงเป็นโหมด JIS8 ปัจจุบันโหมด zero ECI indetifier จะตั้งค่า “\000000”
หมายเลข unicode ทั้งหมดหลังจาก ECI identifier จะเข้ารหัสเป็น codeset หมายเลขที่ถูกต้องโดยอัตโนมัติ
โหมดนี้ไม่ได้สนับสนุนด้วยรหัสบาร์ MicroQR
ExtendedCodetext = 5
โหมดช่องขยายที่สนับสนุน FNC1 ตําแหน่งแรก FNC1 ตําแหน่งที่สองและโหมด ECI มัลติ
มันดีกว่าที่จะใช้ QrExtCodetextBuilder สําหรับการสร้าง codetext ที่ขยายได้
ใช้คุณสมบัติ Display2DText เพื่อตั้งข้อความที่เห็นเพื่อลบตัวอักษรการจัดการ
หลักการเข้ารหัส:
สัญลักษณ์ “" ทั้งหมดจะต้องทําคู่ “" ในข้อความโค้ด
FNC1 ในตําแหน่งแรกที่กําหนดไว้ในโค้ดเป็น “
FNC1 ในตําแหน่งที่สองจะตั้งไว้ในโค้ดเป็น “<FNC1(มูลค่า)>” ราคาจะต้องเป็นสัญลักษณ์เดียว (a-z, A-Z) หรือหมายเลขจาก 0 ถึง 99.
กลุ่มแยกสําหรับโหมด FNC1 ได้รับการตั้งค่าเป็นตัวอักษร 0x1D ‘\u001D’
หากคุณต้องการใส่ string “
ตัวระบุ ECI ได้รับการตั้งค่าเป็นตัวระบุเดียวและตัวระบุตัวเลขหก “\000026” - ตัวระบุ UTF8 ECI
เพื่อปิดใช้งานโหมด ECI ปัจจุบันและแปลงเป็นโหมด JIS8 ปัจจุบันโหมด zero ECI indetifier จะตั้งค่า “\000000”
หมายเลข unicode ทั้งหมดหลังจาก ECI identifier จะเข้ารหัสเป็น 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