Google Analytics

2014年6月19日 星期四

Java產生QR Code - Part 1

簡介

QR Code(Quick Response Code)是二維條碼(matrix barcode)的一種,是於1994年由日本DENSO WAVE公司發明,在2000年成為ISO國際標準,但Denso Wave公司的專利權並未被執行,所以QR Code在使用上並沒有版權上的問題。QR Code呈正方形,常見的是黑白兩色。在3個角落,印有較小,像「回」字的的正方圖案。這3個是幫助解碼軟體定位的圖案,使用者不需要對準,無論以任何角度掃描,資料仍然可以正確被讀取。(資料來源:維基百科)

QR Code Version

QR Code一共有40個version,version簡單的說就是正方形每邊的"點"的數量(英文用的是"matrix"或"module"這2個單字,但翻譯卻找不到適當的文字,還是使用"點")。version 1的一邊有21個點(21 x 21 matrix),version每加1,每邊就會多4個點。故version 2為25個點(25 x 25 matrix)、version 3為29個點、version 40為177個點。化做簡單的公式為:

matrix = 17 + version * 4


QR Code 內容編碼

QR Code的內容可以四種編碼方式:
  • 數字(numeric):0-9
  • 英文字母加數字(alphanumeric):0-9A-Z $%*+-./:
  • 8 bit的二進位碼,繁體中文請用"UTF-8"
  • 日文(因為是日本人發明)

QR Code 容錯等級

QR Code的容錯等級可理解為錯誤修正 (error correction) 的能力,會外加在原本內容上面,圖形上如果有破損或被弄髒了,可以借用錯誤修正碼來還原原本的內容,使QR Code仍然可以機器讀取內容。QR Code的容錯等級有:
  • L : 7% 的字元可被修正
  • M : 15% 的字元可被修正
  • Q : 25% 的字元可被修正
  • H : 30% 的字元可被修正

QR Code 可存放的內容字數

決定了了以上的因子,就可以使用http://www.qrcode.com/en/about/version.html的對照表,查出該version, 編碼與容錯等級下,可以使用的內容字數。

沒有留言:

張貼留言