close
ข้ามไปเนื้อหา

รหัสคิวอาร์

จากวิกิพีเดีย สารานุกรมเสรี
(เปลี่ยนทางจาก QR code)
BERJAYA
รหัสคิวอาร์เก็บข้อมูลยูอาร์แอลของหน้าหลักของวิกิพีเดียภาษาอังกฤษ
BERJAYA
ผนังอาคารแห่งหนึ่งในประเทศญี่ปุ่น แสดงภาพรหัสคิวอาร์สำหรับการโฆษณา

รหัสคิวอาร์ (อังกฤษ: QR code ย่อจาก Quick Response code) หรือ คิวอาร์โค้ด เป็นเครื่องหมายการค้าของบาร์โค้ดเมทริกซ์ (หรือบาร์โค้ดสองมิติ) ถูกคิดค้นโดยมาซาฮิโระ ฮาระ วิศวกรชาวญี่ปุ่นในปี 1994[1] เดิมออกแบบสำหรับอุตสาหกรรมยานยนต์ในญี่ปุ่น บาร์โค้ดเป็นป้ายสำหรับให้เครื่องอ่านด้วยแสงที่บรรจุข้อมูลเกี่ยวกับสิ่งของที่ตัวรหัสติดอยู่ รหัสคิวอาร์มีมาตรฐานของหลักการเข้ารหัส 4 แบบ (ตัวเลข อักขระอักษรเลข ไบต์/เลขฐานสอง และคันจิ) สำหรับเก็บข้อมูลดิบ[2]

รหัสคิวอาร์ยังเป็นที่นิยมนอกเหนือจากอุตสาหกรรมยานยนต์ เนื่องจากความสามารถในการอ่านเร็วและพื้นที่เก็บข้อมูลที่มากกว่าเมื่อเทียบกับบาร์โค้ดรหัสผลิตภัณฑ์สากล8114 รหัสคิวอาร์นำมาใช้ในการตามรอยผลิตภัณฑ์ การระบุสิ่งของ การระบุเวลา การจัดการเอกสาร และการตลาดทั่วไป[3]

รหัสคิวอาร์ประกอบด้วยมอดูลสีดำ (จุดสี่เหลี่ยม) จัดวางในกริดบนพื้นหลังสีขาว ซึ่งสามารถอ่านได้ด้วยเครื่องมืออ่านภาพ (เช่น กล้องถ่ายรูป เครื่องสแกน เป็นต้น) และประมวลผลด้วยกระบวนการแก้ไขข้อผิดพลาดรี้ด-โซโลมอน จนกระทั่งภาพถูกแปลความหมายอย่างเหมาะสม และถอดออกมาจากรหัสที่นำเสนอเป็นภาพในแนวตั้งและแนวนอนจนได้ข้อมูลที่ต้องการ[3]

ความจุ

[แก้]
รหัส ประเภท จำนวนบิตต่อตัวอักษร ความจุข้อมูลรหัสคิวอาร์[4]
0001 ตัวเลขอย่างเดียว 10บิตต่อ3ตัวออักษรมากสุด 7,089 ตัวอักษร
0010 ตัวอักษร ผสม ตัวเลข 11บิตต่อ2ตัวอักษรมากสุด 4,296 ตัวอักษร
0100 ไบนารี (8 บิต) 8บิตต่อตัวอักษรมากสุด 2,953 ไบต์
1000 คันจิ/คะนะ 13บิตต่อตัวอักษรมากสุด 1,817 ตัวอักษร
ความจุการแก้ไขความผิดพลาด
Level L7% ของรหัสที่สามารถทำให้กลับมาสมบูรณ์ได้
Level M15% ของรหัสที่สามารถทำให้กลับมาสมบูรณ์ได้
Level Q25% ของรหัสที่สามารถทำให้กลับมาสมบูรณ์ได้
Level H30% ของรหัสที่สามารถทำให้กลับมาสมบูรณ์ได้

วิธีเข้ารหัส

[แก้]
รหัส ตัวอักษรผสมตัวเลข
รหัสอักษรรหัสอักษรรหัสอักษรรหัสอักษรรหัสอักษร
00009918I27R36วรรค
01110A19J28S37$
02211B20K29T38%
03312C21L30U39*
04413D22M31V40+
05514E23N32W41
06615F24O33X42.
07716G25P34Y43/
08817H26Q35Z44:


ลิขสิทธิ์

[แก้]
BERJAYA

รหัสคิวอาร์ไม่มีลิขสิทธิ์ แต่กำหนดและเผยแพร่ ในลักษณะของมาตรฐานไอเอสโอ โดยทางเดนโซเป็นผู้ถือสิทธิบัตรของรหัสคิวอาร์ แต่มิได้สงวนลิขสิทธิ์แต่อย่างใด[5]

ประโยชน์ในการนำไปใช้งานสื่อสารข้อมูล

[แก้]

การออกแบบ

[แก้]

ต่างจากบาร์โค้ดแบบหนึ่งมิติรุ่นเก่าที่ออกแบบมาเพื่อสแกนด้วยลำแสงแคบๆ รหัส QR จะถูกตรวจจับโดย เซ็นเซอร์ภาพ ดิจิทัลสองมิติ จากนั้นจึงวิเคราะห์แบบดิจิทัลโดยโปรเซสเซอร์ที่ตั้งโปรแกรมไว้ โปรเซสเซอร์จะค้นหารูปแบบตัวค้นหาสามรูปแบบ ซึ่งแต่ละรูปแบบประกอบด้วยสี่เหลี่ยมจัตุรัสซ้อนกันสามอันที่มีความคมชัดต่างกันที่มุมบนซ้าย มุมบนขวา และมุมล่างซ้ายของภาพรหัส QR [6] โดยใช้สี่เหลี่ยมจัตุรัสขนาดเล็กกว่า (หรือหลายสี่เหลี่ยมจัตุรัส) ใกล้กับมุมที่สี่เพื่อปรับขนาด การวางแนว และมุมมองของภาพให้เป็นมาตรฐาน จากนั้นจุดเล็กๆ ทั่วทั้งรหัส QR จะถูกแปลงเป็นเลขฐานสองและตรวจสอบความถูกต้องด้วยอัลกอริทึมแก้ไขข้อผิดพลาด

ความสามารถด้านข้อมูล

[แก้]

ปริมาณข้อมูลที่สามารถแสดงได้ด้วยสัญลักษณ์ QR Code ขึ้นอยู่กับประเภทข้อมูล ( โหมด หรือชุดอักขระอินพุต) เวอร์ชัน (1, ..., 40 ซึ่งระบุขนาดโดยรวมของสัญลักษณ์ เช่น 4 × หมายเลขเวอร์ชัน + 17 จุดในแต่ละด้าน) และระดับ การแก้ไขค่าผิดพลาด ความจุในการจัดเก็บสูงสุดเกิดขึ้นสำหรับเวอร์ชัน 40 และระดับการแก้ไขข้อผิดพลาด L (ต่ำ) ซึ่งแสดงด้วย 40-L: [7] [8]

ความจุสูงสุดในการจัดเก็บตัวอักษร (40 ลิตร)
อักขระ หมายถึงค่าแต่ละค่าของโหมดการป้อนข้อมูล (ชนิดข้อมูล)
โหมดอินพุต จำนวนอักขระสูงสุด บิต/อักขระ อักขระที่เป็นไปได้ การเข้ารหัสเริ่มต้น
เฉพาะตัวเลข 7,089 3 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
ตัวอักษรและตัวเลข 4,296 5 0–9, A–Z (ตัวพิมพ์ใหญ่เท่านั้น), เว้นวรรค, $, %, *, +, -, ., /, :
ไบนารี /ไบต์ 2,953 8 ISO/IEC 8859-1
คันจิ / คานะ 1,817 13 เลื่อน JIS X 0208

ต่อไปนี้เป็นตัวอย่างของรหัส QR:

การแก้ไขค่าผิดพลาด

[แก้]
BERJAYA
คิวอาร์โค้ดเสียหายแต่ยังสามารถถอดรหัสได้ ลิงก์ไปยัง http://en.m.wikipedia.org
BERJAYA
ตัวอย่างคิวอาร์โค้ดที่ตกแต่งด้วยลวดลายศิลปะ ซึ่งยังคงสแกนได้อย่างถูกต้องด้วยระบบแก้ไขค่าผิดพลาด เมื่อสแกนแล้ว โค้ดจะนำผู้ใช้ไปยังเว็บไซต์ส่วนตัวของศิลปิน

รหัส QR ใช้ การแก้ไขค่าผิดพลาดแบบ Reed–Solomon บน ฟีลด์จำกัด หรือ GF(28) ซึ่งองค์ประกอบต่างๆ ถูกเข้ารหัสเป็นไบต์ขนาด 8 บิต ; ไบต์ โดยมีค่าตัวเลขมาตรฐาน เข้ารหัสองค์ประกอบฟีลด์ โดย ถือว่าเป็นองค์ประกอบพื้นฐานที่ตรงตามเงื่อนไข พหุนามดั้งเดิมคือ ซึ่งสอดคล้องกับจำนวนพหุนาม 285 โดยมีรากเริ่มต้น = 0 เพื่อให้ได้พหุนามตัวก่อกำเนิด

รหัส Reed–Solomon ใช้พหุนามที่แตกต่างกัน 37 แบบเหนือ โดยมีดีกรีตั้งแต่ 7 ถึง 68 ขึ้นอยู่กับจำนวนไบต์แก้ไขค่าผิดพลาดที่โค้ดเพิ่มเข้าไป รูปแบบของ Reed–Solomon ที่ใช้ ( มุมมอง BCH ที่เป็นระบบ ) บ่งบอกว่าพหุนามเหล่านี้ทั้งหมดอยู่ในรูปแบบ อย่างไรก็ตาม กฎเกณฑ์ในการเลือกปริญญานั้นแตกต่างออกไป เป็นไปตามมาตรฐาน QR โดยเฉพาะ

ตัวอย่างเช่น พหุนามตัวก่อกำเนิดที่ใช้สำหรับรหัส QR เวอร์ชัน 1 (21×21) เมื่อใช้ไบต์แก้ไขค่าผิดพลาด 7 ไบต์ คือ: .

ผลลัพธ์นี้ได้มาจากการคูณพจน์เจ็ดพจน์แรกเข้าด้วยกัน: .

พหุนามตัวก่อกำเนิดที่ระบุสำหรับรหัส (26,19,2) คือ: ซึ่งอาจเขียนในรูปแบบเมทริกซ์ของสัมประสิทธิ์ทศนิยมได้เช่นกัน:

กำลังสูงสุดของ ในพหุนาม (ดีกรี ของพหุนาม) จะกำหนดจำนวนไบต์แก้ไขค่าผิดพลาด ในกรณีนี้ ดีกรีคือ 7

ในการอธิบายขั้นตอนของรหัส Reed–Solomon อาจมีความเสี่ยงที่จะเกิดความสับสน เนื่องจากมาตรฐาน QR ISO/IEC ใช้คำว่า codeword สำหรับองค์ประกอบต่างๆ ของ ซึ่งในรหัส Reed–Solomon นั้นเรียกว่า สัญลักษณ์ ในขณะที่ใช้คำว่า บล็อก สำหรับสิ่งที่ในรหัส Reed–Solomon เรียกว่า codeword จำนวนไบต์ข้อมูลเทียบกับไบต์แก้ไขค่าผิดพลาดภายในแต่ละบล็อกขึ้นอยู่กับ (i) เวอร์ชัน (ความยาวด้าน) ของสัญลักษณ์ QR และ (ii) ระดับการแก้ไขค่าผิดพลาด ซึ่งมีอยู่สี่ระดับ ยิ่งระดับการแก้ไขค่าผิดพลาดสูงเท่าไร ความจุในการจัดเก็บก็จะยิ่งน้อยลงเท่านั้น ตารางต่อไปนี้แสดงความสามารถในการแก้ไขค่าผิดพลาดโดยประมาณในแต่ละระดับทั้งสี่ระดับ:

ระดับ L (ต่ำ) สามารถกู้คืนข้อมูลได้ 7%
ระดับ M (ปานกลาง) สามารถกู้คืนข้อมูลได้ 15%
ระดับ Q (ควอไทล์) [9] สามารถกู้คืนข้อมูลได้ 25%
ระดับ H (สูง) สามารถกู้คืนข้อมูลได้ 30%

ในสัญลักษณ์ QR ขนาดใหญ่ ข้อความจะถูกแบ่งออกเป็นบล็อกรหัส Reed–Solomon หลายบล็อก ขนาดของบล็อกถูกเลือกเพื่อให้มีการแก้ไขค่าผิดพลาดไม่เกิน 15 จุดต่อบล็อก ซึ่งจะจำกัดความซับซ้อนของขั้นตอนวิธีถอดรหัส จากนั้นบล็อกรหัสจะถูกสลับเข้าด้วยกัน ทำให้โอกาสที่ความเสียหายเฉพาะจุดในสัญลักษณ์ QR จะเกินขีดความสามารถของบล็อกใดบล็อกหนึ่งลดลง

ตัวอย่างเช่น สัญลักษณ์ QR เวอร์ชัน 1 ที่มีการแก้ไขค่าผิดพลาดระดับ L ประกอบด้วยบล็อกแก้ไขค่าผิดพลาดเพียงบล็อกเดียวที่มีไบต์ โค้ดทั้งหมด 26 ไบต์ (ประกอบด้วยไบต์ข้อความ 19 ไบต์ และไบต์แก้ไขค่าผิดพลาด 7 ไบต์) สามารถแก้ไขค่าผิดพลาดได้สูงสุด 2 ไบต์ ดังนั้น รหัสนี้จึงเรียกว่ารหัสแก้ไขค่าผิดพลาด (26,19,2) บน GF(28) บางครั้งก็แสดงแบบย่อเป็นรหัส (26,19) ด้วย

เนื่องจากการแก้ไขค่าผิดพลาด ทำให้สามารถสร้างคิวอาร์โค้ดที่มีศิลปะพร้อมการตกแต่งเพื่อให้ดูอ่านง่ายขึ้นหรือดึงดูดสายตามนุษย์มากขึ้น และสามารถใส่สี โลโก้ และคุณสมบัติอื่นๆ ลงในบล็อกคิวอาร์โค้ดได้ การตกแต่งเหล่านี้ถือเป็นค่าผิดพลาด แต่ยังคงสแกนได้ผลถูกต้อง [10] [11]

นอกจากนี้ยังสามารถออกแบบคิวอาร์โค้ดที่มีศิลปะได้โดยไม่ลดความสามารถในการแก้ไขค่าผิดพลาดโดยการจัดการโครงสร้างทางคณิตศาสตร์พื้นฐาน [12] [13] ขั้นตอนวิธีประมวลผลภาพยังถูกนำมาใช้เพื่อลดค่าผิดพลาดในคิวอาร์โค้ด [14]

การเข้ารหัส

[แก้]

ข้อมูลรูปแบบ (format information) และการใช้หน้ากาก (masking)

[แก้]

ข้อมูลรูปแบบบันทึกสองสิ่ง ได้แก่ ระดับการแก้ไขค่าผิดพลาด และ แบบรูปหน้ากาก (mask pattern) ที่ใช้สำหรับสัญลักษณ์ การใช้หน้ากากจะแบ่งรูปแบบในพื้นที่ข้อมูลที่อาจทำให้เครื่องสแกนสับสน เช่น พื้นที่ว่างขนาดใหญ่หรือคุณลักษณะที่ทำให้เข้าใจผิดซึ่งดูเหมือนเครื่องหมายระบุตำแหน่ง แบบรูปหน้ากากถูกกำหนดบนตารางที่ทำซ้ำตามความจำเป็นเพื่อครอบคลุมสัญลักษณ์ทั้งหมด โมดูลที่สอดคล้องกับพื้นที่สีเข้มของหน้ากากจะถูกกลับด้าน ข้อมูลรูปแบบ 5 บิตได้รับการป้องกันจากค่าผิดพลาดด้วย รหัส BCH และมีสำเนาที่สมบูรณ์สองชุดรวมอยู่ในสัญลักษณ์ QR แต่ละตัว [3] ใช้รหัส BCH แก้ไขค่าผิดพลาดสามเท่า (15,5) บน GF(24) โดยมีพหุนามตัวก่อกำเนิด รหัสนี้สามารถแก้ไขค่าผิดพลาดได้มากที่สุด 3 บิต จากทั้งหมด 5 บิต รหัส BCH นี้มีทั้งหมด 15 บิต (เพิ่มอีก 10 บิตสำหรับการแก้ไขค่าผิดพลาด) รหัส 15 บิตนี้จะถูก X-OR กับรูปแบบมาสก์ 15 บิตคงที่ ( 101010000010010 ) เพื่อป้องกันไม่ให้เกิดสตริงที่เป็นศูนย์ทั้งหมด

ไบต์แก้ไขค่าผิดพลาด

[แก้]

ในการรับไบต์แก้ไขค่าผิดพลาด (EC) สำหรับข้อความ "www.wikipedia.org" สามารถดำเนินการได้ตามขั้นตอนต่อไปนี้:

ข้อความมีความยาว 17 ไบต์ ดังนั้นจึงสามารถเข้ารหัสโดยใช้รหัส Reed-Solomon (26,19,2) เพื่อให้พอดีกับสัญลักษณ์ Ver1 (21×21) ซึ่งมีความจุสูงสุด 19 ไบต์ (สำหรับการแก้ไขค่าผิดพลาดระดับ L)

สามารถแสดงผลลัพธ์เดียวกันได้โดยใช้สัมประสิทธิ์ทศนิยม (เหนือ ), เช่น: .

[1 127 122 154 164 11 68 117]

ข้อความยาว 17 ไบต์ "www.wikipedia.org" ในรูปสัมประสิทธิ์เลขฐานสิบหก (ค่า ASCII) ซึ่งแทนด้วย M1 ถึง M17 คือ:

[4 11 77 77 77 2E 77 69 6B 69 70 65 64 69 61 2E 6F 72 67 0]

วิธีการเข้ารหัสคือ "การเข้ารหัสแบบไบต์" ดังนั้นเขตข้อมูล 'Enc' จึงเป็น [0100] (4 บิต) ความยาวของข้อความข้างต้นคือ 17 ไบต์ ดังนั้นเขตข้อมูล 'Len' จึงเป็น [00010001] (8 บิต) เขตข้อมูล 'End' คือเครื่องหมายสิ้นสุดข้อความ [0000] (4 บิต)

รหัสคำของข้อความ (โดยไม่รวมไบต์ EC) มีรูปแบบดังนี้:

['Enc' 'Len' w w w . w i k i p e d i a . o r g 'End']

เมื่อแทนค่าเลขฐานสิบหกแล้ว สามารถแสดงได้ดังนี้:

ข้อมูลนี้ถูกจัดเรียงใหม่เป็นบล็อกขนาด 19 ไบต์ แต่ละบล็อกมี 8 บิต:

[ 41 17 77 77 72 E7 76 96 B6 97 06 56 46 96 12 E6 F7 26 70 TH AD EF 06 97 8F 25 ]

เมื่อใช้ขั้นตอน การเข้ารหัสแบบระบบของรีด-โซโลมอน จะได้ไบต์ EC ทั้ง 7 ไบต์ (E1 ถึง E7 ดังแสดงในสัญลักษณ์) ซึ่งเป็นสัมประสิทธิ์ (ในเลขฐานสิบ) ของเศษเหลือหลังจากการหารพหุนาม ดังนี้:

[ 174 173 239 6 151 143 37 ]

หรือในรูปแบบค่าเลขฐานสิบหก:

[ AE AD EF 06 97 8F 25 ]

จากนั้นไบต์ EC ทั้ง 7 ไบต์นี้จะถูกนำไปต่อท้ายข้อความขนาด 19 ไบต์ ข้อความที่เข้ารหัสแล้วจะมีทั้งหมด 26 ไบต์ (ในฐานสิบหก):

หมายเหตุ: ค่าบิตที่แสดงในสัญลักษณ์ QR เวอร์ชัน 1 ด้านล่างไม่ตรงกับค่าข้างต้น เนื่องจากสัญลักษณ์ถูกปิดบังด้วยรูปแบบมาสก์ (001)

การวางข้อความ

[แก้]

ชุดข้อมูลข้อความถูกจัดเรียงจากขวาไปซ้ายในรูปแบบซิกแซก ดังแสดงในภาพด้านล่าง สำหรับสัญลักษณ์ขนาดใหญ่ การจัดเรียงจะซับซ้อนขึ้นเนื่องจากมีรูปแบบการจัดแนวและการใช้บล็อกแก้ไขค่าผิดพลาดแบบสลับหลายชั้น

โครงสร้างทั่วไปของการเข้ารหัส QR คือลำดับของตัวบ่งชี้ 4 บิต โดยความยาวของเพย์โหลดจะขึ้นอยู่กับโหมดตัวบ่งชี้ (เช่น ความยาวของเพย์โหลดการเข้ารหัสไบต์จะขึ้นอยู่กับไบต์แรก)

ตัวบ่งชี้โหมด คำอธิบาย โครงสร้างทั่วไป '[ ประเภท : ขนาดเป็นบิต ]'
1 = 0b0001 ตัวเลข [0001 : 4] [ ตัวบ่งชี้จำนวนอักขระ : ตัวแปร ] [ สตรีมบิตข้อมูล : 3.333... อักขระ ]
2 = 0b0010 ตัวอักษรและตัวเลข [0010 : 4] [ ตัวบ่งชี้จำนวนอักขระ : ตัวแปร ] [ สตรีมบิตข้อมูล : 5.5 อักขระ ]
4 = 0b0100 การเข้ารหัสไบต์ [0100 : 4] [ ตัวบ่งชี้จำนวนอักขระ : ตัวแปร ] [ สตรีมบิตข้อมูล : 8 × จำนวนอักขระ ]
8 = 0b1000 การเข้ารหัสคันจิ [1000 : 4] [ ตัวบ่งชี้จำนวนอักขระ : ตัวแปร ] [ สตรีมบิตข้อมูล : 13 × จำนวนอักขระ ]
3 = 0b0011 การต่อเติมแบบมีโครงสร้าง [0011 : 4] [ ตำแหน่งสัญลักษณ์ : 4 ] [ จำนวนสัญลักษณ์ทั้งหมด: 4 ] [ พาริตี้ : 8 ]
7 = 0b0111 ECI [0111 : 4] [ หมายเลขการมอบหมาย ECI : ตัวแปร ]
5 = 0b0101 FNC1 อยู่ในตำแหน่งแรก [0101 : 4] [ เพย์โหลดตัวเลข/ตัวอักษร/ไบต์/คันจิ : ตัวแปร ]
9 = 0b1001 FNC1 อยู่ในอันดับที่สอง [1001 : 4] [ ตัวบ่งชี้แอปพลิเคชัน : 8 ] [ เพย์โหลดตัวเลข/ตัวอักษร/ไบต์/คันจิ : ตัวแปร ]
0 = 0b0000 จบข้อความ [0000 : 4]
บันทึก:
  • ตัวบ่งชี้จำนวนอักขระขึ้นอยู่กับจำนวนโมดูลในรหัส QR (เวอร์ชันสัญลักษณ์)
  • หมายเลขการมอบหมาย ECI ขนาด:
    • 8 × 1 บิต หากบิตสตรีมการกำหนดค่า ECI เริ่มต้นด้วย '0'
    • 8 × 2 บิต หากบิตสตรีมการกำหนดค่า ECI เริ่มต้นด้วย '10'
    • 8 × 3 บิต หากบิตสตรีมการกำหนดค่า ECI เริ่มต้นด้วย '110'

ตัวบ่งชี้สี่บิตใช้เลือกโหมดการเข้ารหัสและสื่อสารข้อมูลอื่นๆ

แบบวิธีการเข้ารหัส
ตัวบ่งชี้ ความหมาย
0001 การเข้ารหัสตัวเลข (10 บิตต่อ 3 หลัก)
0010 การเข้ารหัสแบบตัวอักษรและตัวเลข (11 บิตต่อ 2 ตัวอักษร)
0100 การเข้ารหัสแบบไบต์ (8 บิตต่ออักขระ)
1000 การเข้ารหัสอักษรคันจิ (13 บิตต่อตัวอักษร)
0011 การเพิ่มข้อความแบบมีโครงสร้าง (ใช้เพื่อแบ่งข้อความออกเป็นสัญลักษณ์ QR หลายตัว)
0111 การตีความช่องสัญญาณแบบขยาย (เลือกชุดอักขระหรือการเข้ารหัสทางเลือก)
0101 FNC1 อยู่ในตำแหน่งแรก (ดู Code 128 สำหรับข้อมูลเพิ่มเติม)
1001 FNC1 อยู่ในอันดับที่สอง
0000 จบข้อความ (Terminator)

สามารถผสมผสานแบบวิธีการเข้ารหัสได้ตามต้องการภายในสัญลักษณ์ QR (เช่น URL ที่มีตัวอักษรและตัวเลขจำนวนมาก)

หลังตัวบ่งชี้แต่ละตัวที่เลือกโหมดการเข้ารหัส จะมีช่องความยาวที่ระบุจำนวนอักขระที่เข้ารหัสในแบบวิธีนั้น จำนวนบิตในช่องความยาวจะขึ้นอยู่กับการเข้ารหัสและเวอร์ชันของสัญลักษณ์

จำนวนบิตในเขตข้อมูลความยาว (ตัวบ่งชี้การนับอักขระ)
การเข้ารหัส เวอร์ชัน 1–9 10–26 27–40
ตัวเลข 10 12 14
ตัวอักษรและตัวเลข 9 11 13
ไบต์ 8 16 16
คันจิ 8 10 12

โหมดการเข้ารหัสแบบตัวอักษรและตัวเลขสามารถจัดเก็บข้อความได้อย่างกะทัดรัดกว่าโหมดไบต์ แต่ไม่สามารถจัดเก็บตัวอักษรพิมพ์เล็กได้ และมีเครื่องหมายวรรคตอนให้เลือกใช้อย่างจำกัด ซึ่งเพียงพอสำหรับ ที่อยู่เว็บ แบบพื้นฐานเท่านั้น ตัวอักษรสองตัวจะถูกเข้ารหัสเป็นค่า 11 บิตโดยใช้สูตรนี้:

V = 45 × C 1 + C 2

ข้อยกเว้นคือ อักขระตัวสุดท้ายในสตริงตัวอักษรและตัวเลขที่มีความยาวเป็นเลขคี่ จะถูกอ่านเป็นค่า 6 บิตแทน

อ้างอิง

[แก้]
  1. "他嫌掃條碼太累…拿「圍棋創造QR碼」 就此改變世界25年". ettoday.com. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2022-02-05. สืบค้นเมื่อ 2018-02-26.
  2. "QR Code features". Denso-Wave. เก็บจากแหล่งเดิมเมื่อ 2012-09-15. สืบค้นเมื่อ 3 October 2011.
  3. 1 2 3 "QR Code Essentials". Denso ADC. 2011. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2013-05-12. สืบค้นเมื่อ 12 March 2013. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่สมเหตุสมผล มีนิยามชื่อ "autogenerated1" หลายครั้งด้วยเนื้อหาต่างกัน
  4. "About 2D Code | QR Code.com". Denso-wave.com. สืบค้นเมื่อ 2009-04-23.
  5. "QR Code Standardization | QR Code.com". Denso-wave.com. สืบค้นเมื่อ 2009-04-23.
  6. "ISO/IEC 18004:2024(en) - QR code bar code symbology specification". International Organization for Standardization. เก็บจากแหล่งเดิมเมื่อ 20 June 2025. สืบค้นเมื่อ 22 June 2025.
  7. "QR Code—About 2D Code". Denso-Wave. เก็บจากแหล่งเดิมเมื่อ 5 June 2016. สืบค้นเมื่อ 27 May 2016.
  8. "Information capacity and versions of QR Code". Denso-Wave. เก็บจากแหล่งเดิมเมื่อ 29 May 2016.
  9. "2D Barcode: QR-Code". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 29 September 2012. — TEC-IT
  10. Hamilton Chan (18 April 2011). "HOW TO: Make Your QR Codes More Beautiful". Mashable. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 8 August 2011. สืบค้นเมื่อ 29 July 2011.
  11. Orli Sharaby (18 October 2010). "Form Meets Function: Extreme Makeover QR Code Edition". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 10 July 2012. สืบค้นเมื่อ 29 July 2011.
  12. Russ Cox (12 April 2012). "QArt Codes: How to make pictures with QR codes, part II". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2015-03-21. สืบค้นเมื่อ 8 May 2015.
  13. Russ Cox (12 April 2012). "QArt Coder". เก็บจากแหล่งเดิมเมื่อ 24 April 2015. สืบค้นเมื่อ 8 May 2015.
  14. Gupta, Kishor Datta; Ahsan, Md Manjurul; Andrei, Stefan (2018). "Extending the Storage Capacity And Noise Reduction of a Faster QR-Code". BRAIN: Broad Research in Artificial Intelligence and Neuroscience. 9 (1): 59–71. doi:10.70594/brain/v9.i1/7 (inactive 10 January 2026). {{cite journal}}: ตรวจสอบค่า |doi= (help)CS1 maint: DOI inactive as of มกราคม 2026 (ลิงก์)