เคยสงสัยกันไหมว่า QR code ที่เราเห็นกันทุกวันนี้ทำงานยังไง เจ้ารูปสี่เหลี่ยมที่มีลายสีขาวสลับดำ เวลาเราเอากล้องไปสแกน ทำไมถึงได้นำเราไปสู่จุดหมายต่างๆ กันได้ ลายของแต่ละรูปก็แตกต่างกัน บางรูปใช้สีอื่นนอกจากขาวดำ บางรูปใช้วงกลมแทนสี่เหลี่ยม หรือบางรูปมีโลโก้ของแบรนด์อยู่ในนั้นด้วย แล้วคุณเคยสงสัยไหมว่า เราจะสามารถเขียนมันขึ้นมาเองได้รึเปล่า

วันนึงน้องในทีมคนนึงถามเราเกี่ยวกับเรื่องเหล่านี้ เราเลยอยากลองหาคำตอบดู และเกิดเป็นบทความนี้ขึ้นมา

ในชีวิตประจำวัน เราเห็น QR code ได้บ่อยๆ ตั้งแต่หลังซองขนม ข้างขวดเครื่องดื่ม ตามบิลค่าสาธารณูประโภค ตามป้ายต่างๆ หรือ แม้กระทั่งเวลาที่เราจะ add เพื่อนใน Line เรียกได้ว่าเป็นสิ่งที่ใช้กันอย่างแพร่หลาย

 

QR code คืออะไร

ก่อนอื่นขอแนะนำเจ้า QR code คร่าวๆก่อนละกัน

QR code ย่อมาจาก Quick Response Code ถูกคิดค้นที่ญี่ปุ่นในปี 1994 โดยบริษัท Denso Wave และต่อมาเปิดให้ใช้ได้อย่างอิสระ QR code ถูกพัฒนามาจาก barcode โดยเอามาทำให้เป็น barcode 2 มิติ และเก็บข้อมูลได้มากกว่า barcode ธรรมดาหลายเท่า โดยถ้ายิ่งเก็บข้อมูลมาก ความละเอียดของ QR code ก็จะมากตามไปด้วย

คุณสมบัติของ QR code คือเป็นสัญลักษณ์ที่ใช้แทนข้อมูลและตอบสนองได้อย่างรวดเร็ว ตามชื่อเลยแหละ จะเปรียบว่าเป็น link ในรูปแบบภาพก็ได้

QR code ถูกเอามาใช้หลายๆแบบ ที่เราเคยเห็นกันบ่อยก็คือการเอา url ของ website มาทำเป็น QR code และแสดงบนผลิตภัณฑ์ เพื่อให้ข้อมูลเพิ่มเติม หรืออีกแบบนึงที่ทำให้การจ่ายเงินผ่าน mobile banking ตามร้านค้าง่ายขึ้น แค่สแกน QR code ของร้านและกรอกจำนวนเงิน ก็สามารถจ่ายเงินได้ โดยไม่ต้องนั่งพิมพ์เลขบัญชีให้ยุ่งยาก

 

QR code ทำงานยังไง

ก่อนจะรู้ว่าเราเขียน QR code ด้วยมือได้ไหม เราก็ต้องรู้คร่าวๆ ก่อนว่ามันทำงานยังไง

QR code มีหลายขนาด และแต่ละขนาดความจุข้อมูลไม่เท่ากัน ยิ่ง QR code ขาดใหญ่ก็จะยิ่งจุข้อมูลได้มาก ข้อมูลใน QR code จะถูกเข้ารหัสด้วยวิธีต่างๆ และเอามาแปลงเป็นช่องสี่เหลี่ยมสี ขาว ดำ เรียงตัวกันเป็นรูป

ข้อมูลในนั้นก็จะประกอบไปด้วย

  • ข้อมูลต้น คือข้อมูลตัวหลักที่เราตั้งใจจะใส่ไว้ใน QR code เวลาเราสแกนก็จะได้ข้อมูลนี้กลับมา
  • ข้อมูลอื่นๆที่จะช่วยในการถอดรหัส และ
  • ข้อมูลสำรอง คือเป็นตัวที่ทำให้เรายังสามารถอ่านข้อมูลจาก QR code ได้แม้ว่ามันจะเสียหายหรือฉีกขาดไปบางส่วน

 

สร้าง QR code ด้วยมือเปล่าได้จริงๆหรอ ?

จากที่อ่านกันมา ทุกคนคงเห็นว่า กว่าจะมาเป็น QR code อันนึงนี่มันค่อนข้างซับซ้อนเลยเนอะ ทีนี้มาถึงคำถามสำคัญของเราแล้ว ว่าเราสามารถเขียน QR code ด้วยมือเปล่า ได้จริงหรือไม่

คำตอบก็คือ..ก็ได้แหละ และนี่เป็นผลงานจากการทดลองของเรา

วิธีการทำก็ไม่ยาก เพียงแค่ทำตามนี้เลย

แหน่ะ เร็วไปหล่ะสิ… มาๆ เอาแบบช้าๆ

เริ่มจากใช้อุปกรณ์ง่ายๆเช่นกระดาษ 1 แผ่นกับปากกา 1 ด้าม แล้วก็เปิดคอมเลยจ้า search Google ว่า qr code generator จ้า

กดลิ้งแรกที่เจอเลยจ้า แล้วใส่ข้อความที่อยากใส่ กด generate ได้รูปออกมา ทีนี้ก็ตีตารางแล้วลอกลงกระดาษได้เลยจ้า

 

อ่ะ หยอกๆ ตอบแบบจริงจังกันบ้างนะ

ถ้าจะเขียน QR โดยมีแค่ข้อมูลจริงๆ ละก็ ก็คงได้เหมือนกันแหละ แต่มันจะใช้เวลานานมากๆ ถ้าคุณไม่ใช่ผู้เชี่ยวชาญด้านการเข้ารหัสละก็ อาจจะใช้เวลาเป็นปีเลยก็ได้ เพราะอะไรหน่ะหรือ? การแปลงข้อมูลจากข้อความเป็น ช่องสี่เหลี่ยมสี ขาว ดำ ที่เราเห็นๆเนี่ยอาจจะไม่ยากมากนัก แต่ที่ยากจริงๆก็คือการเข้ารหัสส่วนที่เป็น ข้อมูลสำรอง ต่างหากหล่ะ อัลกอริทึมที่เข้ารหัสนั้นยากจริงๆ ถ้าไม่เชื่อลองศึกษาเพิ่มเติมได้ จาก Google หรือ ที่นี่ https://content.sakai.rutgers.edu/access/content/user/ak892/Reed-SolomonProjectReport.pdf

 

แถมๆ

รู้หรือไม่ว่าเราสามารถแสกน QR code เพื่อต่อ wifi ได้ โดยมี format ของข้อมูลที่จะต้องใส่ลงไปใน QR code แบบนี้

WIFI:S:<SSID>;T:<WPA|WEP|>;P:<password>;H:<true|false|>;

ลองแทนที่ <SSID> ด้วยชื่อ wifi

<WPA|WEP|> ด้วยประเภทของ security ของ wifi ที่เราใช้

<password> ด้วย password ของ wifi และ

แทน <true|false|> ด้วย true ถ้า wifi ของเราถูกซ่อนไว้ หรือ false ถ้า wifi ของเราไม่ได้ถูกซ่อน

ทีนี้พอได้ข้อมูลเรียบร้อยก็ลองเอาไป generate เป็น QR code แล้วลองแสกนดู มันจะเจอว่าเป็น wifi network และสามารถ connect ได้ทันทีเลย

ที่มา:

https://www.quora.com/How-do-QR-codes-work

https://www.quora.com/Can-you-hand-draw-a-working-QR-code

https://en.wikipedia.org/wiki/QR_code

จบ