[爬蟲基本功]網頁編碼Big5? UTF-8?

天道酬勤
Jul 26, 2018 · 3 min read

網頁編碼

針對網頁編碼的部分,會分成理論說明實際測試兩部分


理論說明

網頁的編碼大略上可以分成兩類,ANSIUnicode

ANSI(如BIG5,GBXXXX) :

Big5僅是ANSI的其中一種編碼方式,支援約16000個繁體中文, 可應付大多文書工作,不過若是遇到罕見字,也無法支援,如: 「犇」「鱻」「堃」

Big 5:

  1. 每個中文字使用 2 bytes
  2. 部分文字用到了控制碼 所以許多程式與軟體都會有許、蓋、功這類中文字的沖碼問題
  3. 延伸字集中,有簡體字但是沒有定義日文字

Unicode(UTF-8, UTF-16)

UTF-8 :

1. 採用變動大小,中文字使用 3 bytes,英文則維持 1 byte 因此若轉碼後,資料庫整體會變成 1.5 倍大,200MB(Big5) -> 300MB(UTF-8)

2. 支援所有語言文字,還有一些怪怪圖形

3. 簡體與正體中文重複字只定義一次,例如說,簡體的”山”,跟正體的”山” 是同一個 UTF-8 編碼

詳細資料

以上說明參考至 Big 5, UTF-8說明

有興趣的話也推薦各位參考以下幾個網站

  1. 編碼歷史
  2. UTF-8,UTF-16,Big5介紹

實際測試

文本測試

打開 Notepad++

輸入一個字: 鱻,選擇編譯成UTF-8碼。鱻可以正常顯示,因為UTF-8的字符集中「鱻」這個字。

更改選擇編譯成ANSI碼。鱻不能正常顯示,因為BIG-5的字符集中沒有「鱻」這個字。

網頁測試

透過簡短的範例,介紹網頁編碼的設定

將以下代碼貼入Notepad++後,存成.html格式。

執行後,在網頁上可看到 "鱻"

若是修改編碼成Big5,結果會如何呢?

鱻字會變成亂碼


天道酬勤

Written by

藉由這個Blog紀錄與分享自己學習的過程

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade