二維條碼(QR code)是現在很常用的編碼方式,將網址轉為二維條碼之後,使用一般具有相機功能的智慧型手機就可以馬上讀取其中的資訊,省去手動輸入的麻煩。

一般生活中,最常見到的二維條碼就是現在最新的電子發票了:

IMAG1034

發票右邊的正方形區域就是二維條碼,而有些商品上面也會有二維條碼,例如便利商店的麵包:

IMAG1035

在 Linux 中,如果想產生二維條碼,可以使用 qrencode 這個程式,這是一個免費且開放原始碼的小程式,專門用來將文字訊息轉換為二維條碼的圖片。


在使用 qrencode 前要先安裝,如果在 Ubuntu Linux 中可使用 apt 安裝:

sudo apt-get install qrencode

其餘的 Linux 若沒有現成的套件可用,也可以直接上 qrencode 的官方網站下載原始碼編譯後安裝,這種小程式應該很好裝的。

裝好之後,就可以使用了,這個程式的作用就是把一串文字(通常是網址)轉換成二維條碼,例如:

qrencode -o sealmemory.png 'http://sealmemory.blogspot.tw/'

其中 -o 參數是指定產生的圖檔檔名,最後一個參數就加上要轉換的文字訊息,轉換出來的 QR Code 為:

sealmemory-qrcode

如果感覺圖片太小,可以使用 -s 參數調整大小:

qrencode -o sealmemory2.png -s 6 'http://sealmemory.blogspot.tw/'

轉換出來的 QR Code 為:

sealmemory-qrcode-2

因為二維條碼在用手機或是平板電腦的鏡頭讀取時,難免會有影像不清楚或是模糊的狀況,這樣的狀況會導致隱藏在其中的資訊錯誤,若要減低這樣的狀況,可以調整二維條碼的錯誤修復層級(Error Collectin Level),錯誤修復層級分為四種:

  • L(Low):最多可修正 7% 的資訊。
  • M(Medium):最多可修正 15% 的資訊。
  • Q(Quartile):最多可修正 25% 的資訊。
  • H(High):最多可修正 30% 的資訊。

qrencode 預設的錯誤修復層級為 L,如果要調整可以使用 -l 參數,例如將錯誤修復層級設定為 H:

qrencode -o sealmemory3.png -s 6 -l H 'http://sealmemory.blogspot.tw/'

轉換出來的 QR Code 為:

sealmemory-qrcode-3

有了這個二維條碼,只要拿手機上可以讀取二維條碼的 App,就可以輕鬆讀取其中的資訊了。