QR碼糾錯:為什麼損壞的二維碼依然能掃
QR碼如何抵禦刮痕、Logo和污漬。L、M、Q、H糾錯等級深度解析。
你見過公司Logo直接貼在正中間的QR碼。程式碼的一部分被實實在在地遮住了。然而掃一下,完美運作。
這不是運氣。這是糾錯在發揮作用。
QR碼如何處理損壞
QR碼使用里德-所羅門糾錯,和CD、DVD以及深空通訊用的是同一套數學。核心思路:儲存額外的冗餘資料,這樣即使部分缺失或損壞,也能重建原始訊息。
產生QR碼時,資料會和糾錯碼字一起編碼。這些碼字包含足夠的資訊,即使程式碼的一部分無法讀取,也能恢復原始資料。
四個糾錯等級
每個QR碼使用四個糾錯等級之一:
| 等級 | 恢復能力 | 最適合 | |------|---------|--------| | L(低) | 約7%損壞 | 數位螢幕、乾淨環境 | | M(中) | 約15%損壞 | 通用,預設選擇 | | Q(四分位) | 約25%損壞 | 印刷品、中等磨損 | | H(高) | 約30%損壞 | 惡劣環境、疊加Logo |
這裡的「損壞」是指在二維碼仍能成功掃描的情況下,不可讀碼字的百分比。
權衡:糾錯 vs 尺寸
更多糾錯意味著更多冗餘資料。更多資料意味著更複雜(更大)的QR碼。實際效果:
對於相同內容,H級糾錯的QR碼會比L級明顯多出更多模組(那些小方塊)。程式碼變得更密集,遠距離掃描更困難。
L級: 最小最簡單的QR碼。最容易遠距離掃描。保護最少。
M級: 良好平衡。大多數產生器的預設值。應對日常磨損。
Q級: 明顯更密集。適合可能被摺疊、弄髒或部分覆蓋的印刷品。
H級: 最大密度。能承受嚴重損壞。如果要在中間放Logo則必須使用。
為什麼QR碼中的Logo能正常運作
在QR碼中央放置Logo時,你實際上是在「損壞」程式碼——讓那些模組變得不可讀。糾錯演算法將Logo視為損壞的資料,從剩餘模組中重建缺失的資訊。
這只有在H級(有時Q級)糾錯下才能可靠運作。在L級,遮住僅8%的程式碼就可能導致無法掃描。
Logo放置指南:
- 使用H級糾錯
- Logo控制在QR碼面積的約15-20%
- Logo居中放置(QR碼角落有重要的定位圖案)
- 使用簡潔、高對比度的Logo
- 務必用多個掃描器測試最終二維碼
該用哪個等級?
數位顯示器(網站、應用程式、螢幕): L或M級。程式碼不會受到物理損壞,較小的碼更容易掃描。
名片和傳單: M級。對輕微磨損的標準保護。
產品包裝: Q級。產品會被拿取、刮擦、暴露在外部環境中。
戶外看板和惡劣環境: H級。對天氣、污垢和物理損壞的最大抵抗力。
帶Logo的QR碼: H級。毫無疑問。需要額外冗餘來補償被覆蓋的區域。
靜區也很重要
糾錯處理的是程式碼本身的損壞,但QR碼還需要「靜區」——程式碼周圍的空白邊距。沒有它,掃描器無法找到程式碼的起止位置。
標準要求4個模組寬的靜區。省略它是QR碼失敗最常見的原因,再多的糾錯也無法修復這個問題。
糾錯是讓QR碼在現實世界中實用的關鍵。根據使用場景選擇合適的等級——大多數情況用M級,需要Logo或最大耐用性時用H級——印刷前務必用真實掃描器測試。