顯示廣告
隱藏 ✕
※ 本文為 dinos 轉寄自 ptt.cc 更新時間: 2014-03-30 19:08:56
看板 Web_Design
作者 LPH66 (1597463007)
標題 Re: [請益] Unicode, UTF-8, UTF-16, UTF-32?
時間 Sat Mar 29 21:50:54 2014


※ 引述《x2006 (冬眠)》之銘言:
: Unicode的檔案是不是只分為底下五類?
: 00 00 fe ff : UTF-32, Big Endian
: fe ff 00 00 : UTF-32, Little Endian
  ff fe 00 00
: fe ff       : UTF-16, Big Endian
: ff fe       : UTF-16, Little Endian
: ef bb bf    : UTF-8
其實名字以 UTF 開頭的編碼還不只這些, 只是這些相對常用而已

其中最常用的是 UTF-8

UTF-16 也不少見

UTF-32 則比較沒什麼看到, 主要還是浪費空間

(一個字佔 4 byte, 如果全是英文則有 3/4 的 byte 是 0,

 如果是常用中文則有一半是 0,

 然後由於 Unicode 只到 U+10FFFF 的關係, 永遠至少有 1/4 的 byte 是 0)

: Notepad打開分為底下四類:
: ANSI
: Unicode (就是UTF-16, Little Endian?)
: Unicode big endian (就是UTF-16, Big Endian?)
: UTF-8
以上正確

另外要講的是 Notepad 所存成的 Unicode 檔案都會有 BOM

(就是你上面列的那些 byte)

這會造成一些判斷檔案開頭有沒有東西的程式失效或出問題

例如 PHP 程式如果有 BOM 則會先行輸出以致於無法更改 header 資訊

: 記得早期在寫網頁的時候,只用ANSI. XD
: 現在大部分的網頁好像都是用UTF-8.
: 有人用UTF-16或UTF-32來寫網頁的嗎?(什麼情況下會用到?)
UTF-32 如上所說比較沒什麼在用

UTF-8 勝過 UTF-16 的一點是:

對於純英文的文字 (也就是只使用 ASCII < 127 的字元的文字)

它自動就是一個正確的 UTF-8 編碼文字

這才使得 UTF-8 比 UTF-16 來得常見

在其他方面我覺得其實兩者沒什麼差就是

---
來搬個前輩的文章出來壓陣(?)好了:

每個軟體開發者都絕對一定要會的Unicode及字元集必備知識(沒有藉口!)
by Joel Spolsky

http://tinyurl.com/cvultt

個人覺得這篇十年前的文章依然有不少地方值得現在的人參考

--
有人喜歡邊玩遊戲上逼;        
    也有人喜歡邊聽歌打字。      
        但是,我有個請求,          
            選字的時候請專心好嗎?
                                      -- 改編自「古 火田 任三郎」之開場白

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.39.85
※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1396101057.A.7DE.html
x2006:多謝LPH66大大的指點1F 03/29 22:14
x2006:有次看到網頁原始碼寫UTF-16,不知why會這樣?希望有高手解答
s25g5d4:他高興設為 UTF-16 阿... 也許他真的用到超出 UTF-8 的字3F 03/29 23:48
s25g5d4:我搞混 UTF 跟 UCS 的意思了...囧
s25g5d4:UTF-8 可以顯示所有 Unicode 字元 (但是程式支不支援就..)
buganini:http://0rz.tw/Faju76F 03/30 01:57
非常經典的 UTF-8… | Gea-Suan Lin's BLOG
在 Hacker News 文摘上看到「UTF-8 – “The most elegant hack”」這篇。除了維基百科上的資料以外,Rob Pike 與其他人在 2003 年寫的 mail 也是相當重要的資料。 Ken Thompson 與 Rob Pike 兩位發展出來的 UTF-8 被譽為最優雅的 hack 真的一點都不為過。Unicode... ...

 

--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 170 
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇