QR Code 容錯等級怎麼選?L/M/Q/H 一次搞懂
QR Code 可以缺一角、沾到咖啡,甚至中間蓋一個 LOGO 還掃得出來,靠的是內建的錯誤更正碼:一段額外的備份資料(Reed-Solomon 碼)。產生 QR Code 時,產生器除了你的資料,還會額外加上這段備份;掃描時就算部分小方塊(模組)讀錯或讀不到,相機也能用它把原本的資料算回來。
更正碼要放多少,由「容錯等級」決定。QR Code 規格定義了四個等級,依 DENSO WAVE 官方說明,大約可以還原的比例如下:
- L:約 7%
- M:約 15%
- Q:約 25%
- H:約 30%
這個比例是以一小段一小段的資料計算(技術上叫碼字,每 8 個位元一組),不是圖面上可以隨便塗掉的面積;而且三個角落的大方框(定位圖形)不在保護範圍內,被擋住的話相機根本找不到這張碼。
錯誤更正碼怎麼運作
把資料切成一小段一小段之後,產生器會用數學運算算出一組額外的檢查資料附在後面。讀取時,如果某幾段讀錯了,相機可以從這組檢查資料反推出正確的值。規則是:每多 2 段檢查資料,就能多修正 1 段讀錯的資料;如果已經知道哪幾個位置壞了(例如被 LOGO 整塊蓋住、讀不到),同樣數量的檢查資料能修補的量還會更多。容錯等級越高,檢查資料占的比例越大,能修的就越多。
版本較大的 QR Code 會把資料分成好幾組,各自帶一組檢查資料,擺放時再把不同組的資料交錯排列。這樣同一塊髒污會分散到好幾段,每段只壞一點點,都還在能修的範圍內,比全部集中在同一組安全得多。
同一個網址,四種等級長什麼樣
下面四張都是這篇文章的網址 https://www.pocketool.app/qrcode-studio/guide/error-correction/(63 個字元),分別用 L、M、Q、H 產生。內容一模一樣,但更正碼越多,需要的空間越大,產生器就得改用更大的版本(每邊更多格):
四張都可以掃,你可以拿手機試試看。從 L 到 H,每邊從 33 格增加到 45 格。換個角度看:如果尺寸固定,容錯越高能放的內容就越少。以版本 10(每邊 57 格)為例,一般網址與文字能放 L 271、M 213、Q 151、H 119 個英文字母與符號(位元組),H 只裝得下 L 的四成多。
容錯越高一定越好嗎
不一定。小方塊變多,代表印在同樣大小的紙上,每一格都會變小。假設把上面的 QR Code 印成 2 公分寬:L 的每一格約 0.61 毫米,H 只剩約 0.44 毫米。格子越小,手機要靠得越近、對焦越準才讀得到,印刷的墨點暈開也更容易讓相鄰的小方塊黏在一起。所以容錯等級是在「抗污損」與「圖案密度」之間取捨,夠用就好。
如果掃描不穩,先把圖印大一點、四周留足白邊,效果通常比一味把容錯拉高更明顯。
另外兩個常見的誤解:一是「H 等級代表可以塗掉三成面積」,其實三個角落的大方框、黑白交錯的那排點這些固定圖形不在保護範圍內,塗到它們就可能整張失效;二是「容錯越高掃得越快」,實際上剛好相反,圖案越密,相機越需要清楚的影像才讀得出來。
依使用情境怎麼選
| 情境 | 建議等級 | 原因 |
|---|---|---|
| 簡報、網頁、手機螢幕上顯示 | L 或 M | 畫面乾淨不會髒,圖案越簡單越好掃 |
| 名片、傳單、一般室內印刷 | M | 最常見的平衡點,也是本站預設 |
| 戶外海報、貼紙、商品包裝 | Q | 會被刮、被雨淋或磨損 |
| 中間要放 LOGO | H | LOGO 蓋掉的小方塊要靠更正碼補回來 |
DENSO WAVE 的官方說明也是類似的建議:容易弄髒的工廠環境選 Q 或 H,環境乾淨、資料量大時選 L,而 M 是最常被選用的等級。
本站產生器怎麼處理容錯等級
- 預設是 M,可以在「耐髒程度(容錯等級)」選單改成 L、Q 或 H。
- 上傳 LOGO 時會自動切換成 H。LOGO 的大小也會跟著容錯等級自動調整:最多只會蓋掉「容錯比例的三成」那麼多小方塊,也就是 H 等級時最多約 9% 的小方塊,遠低於 H 能還原的 30%,保留了髒污或反光的餘裕。
- 上傳 LOGO 後如果把等級改回 L,LOGO 會自動縮到很小(最多蓋掉約 2% 的小方塊),因為 L 能補回的本來就不多。想要 LOGO 大一點,就維持 H。
- 內容超過該等級的最大容量時,產生器會提示你縮短內容或調低等級。
想進一步了解 LOGO 的擺放與配色,請看如何在 QR Code 中加入 LOGO。調好之後,可以直接到QR Code 產生器試做,下載後再用手機實際掃一次。
參考資料
- DENSO WAVE:Error correction feature(四個等級的還原比例與選用建議)