[Other]Unicode/UTF-8的差異| gipi的學習筆記-經營管理 - - 點部落
文章推薦指數: 80 %
同樣的劇情我以UTF-8來進行編碼,會發現一樣的文字內容,在UTF-8中佔了15個位元組,其中每個英文字佔1個位元組,中文佔3個位元組,而檔案存成UTF-8格式 ...
[Other]Unicode/UTF-8的差異
備註:讀完這篇請記得再讀[Other]編碼補充(承上文)由於之前常常聽到有人將這兩者混為一談,不過被問實際有什麼差異的時候也沒有辦法講的很清楚,只知道UTF-8是由Unicode改良來的,一個是固定存2bytes,另一個是變動長度,趁著今天有fu快點來查一下兩者間的不同,我們先看一下Wiki中對UTF-8的定義:http://zh.wikipedia.org/w/index.php?title=UTF-8&variant=zh-twUTF-8(8位元UniversalCharacterSet/UnicodeTransformationFormat)是一種針對Unicode的可變長度字元編碼。
它可以用來表示Unicode標準中的任何字元,且其編碼中的第一個位元組仍與ASCII相容,這使得原來處理ASCII字元的軟體無須或只須做少部份修改,即可繼續使用。
因此,它逐漸成為電子郵件、網頁及其他儲存或傳送文字的應用中,優先採用的編碼。
針對他定義所說的內容,我們可以很簡單的用文字檔來試看看,當我新增一個文字檔,這時候我檢視它的檔案大小,發現是0個位元組:這時候此文字檔的預設編碼是ANSI,我先將它改成Unicode並進行存檔,再去檢視檔案大小,發現這個空的文字檔,大小變成2位元組:這時候如果我在文字檔中打入123幾個數字,再看它的大小會是8個位元組;而如果我打入123衝衝衝等中英交雜的文字,發現它的大小會是14個位元組,這個測試按例中我們可以簡單證實在Unicode編碼下,不管是數字還是中文,都是2個位元組。
同樣的劇情我以UTF-8來進行編碼,會發現一樣的文字內容,在UTF-8中佔了15個位元組,其中每個英文字佔1個位元組,中文佔3個位元組,而檔案存成UTF-8格式本身就需3個位元組,所以整個加起來就是15個位元組。
上面我們簡單區分一下Unicode跟UTF-8,另外看一些文章中有人提到UTF-8在處理部分特殊字元時會用到4個位元組,不過我沒有很仔細的查到底有哪些字屬於這些罕用字集,如果有好心人士知道的話請跟小弟說一下,感謝。
參考資料:Unicode、UTF-8、UCS等字的意義UTF-8andUnicodeFAQforUnix/LinuxUTF-8,UTF-16,UTF-32&BOM
游舒帆(gipi)
探索原力Co-founder,曾任TutorABC協理與鼎新電腦總監,並曾獲選兩屆微軟最有價值專家(MVP),離開職場後創辦探索原力,致力於協助青少年培養面對未來的能力。
認為教育與組織育才其實息息相關,都是在為未來儲備能量,2018年起成立為期一年的專題課程《職涯躍升的關鍵24堂課》,為培養台灣未來的領袖而努力。
回首頁
延伸文章資訊
- 1Unicode、UTF-8、UTF-16,終於懂了 - 閱坊
- 2Unicode 與UTF-8 的關係?. Unicode… | by Roy Kwok - Medium
- 3[Other]Unicode/UTF-8的差異| gipi的學習筆記-經營管理 - - 點部落
同樣的劇情我以UTF-8來進行編碼,會發現一樣的文字內容,在UTF-8中佔了15個位元組,其中每個英文字佔1個位元組,中文佔3個位元組,而檔案存成UTF-8格式 ...
- 4Unicode 和UTF-8 有什么区别? - 知乎
举一个例子:It's 知乎日报. 你看到的unicode字符集是这样的编码表:. I 0049 t 0074 ' 0027 s 0073 0020 知77e5 乎4e4e 日65e5 报62a5...
- 5utf 8與unicode的區別 - w3c學習教程
utf 8與unicode的區別,1 unicode是一種字符集,而utf 8是一種編碼方式。unicode字符集既可以用utf 8編碼方式編成計算機能夠識別的二進位制數值,