Unicode 與UTF-8 的關係?. Unicode… | by Roy Kwok - Medium
文章推薦指數: 80 %
Unicode (中文稱:萬國碼)給每個字元提供了一個唯一的數位,不論是什麼平臺、不論是什麼程式、不論是什麼語言。
簡而之,Unicode是字符集,將所有的文字,符號等等編碼。
GetunlimitedaccessOpeninappHomeNotificationsListsStoriesWriteUnicode與UTF-8的關係?Unicode(中文稱:萬國碼)給每個字元提供了一個唯一的數位,不論是什麼平臺、不論是什麼程式、不論是什麼語言。
簡而之,Unicode是字符集,將所有的文字,符號等等編碼。
UTF-8是編碼的方式,優化Unicode的編碼。
例如:“Hi!你好”你看到的Unicode字符編碼是這樣的:H0048i0069你4F60好597D每一個字符對應了一個16進制的數字。
由於電腦只懂2進制編碼,所以按照Unicode的方式(UCS-2),會按以下儲存:H0000000001001000i0000000001101001!0000000000100001你0100111101100000好0101100101111101這個字符串共估了8個字節,對比以上中英文2進制編碼,英文前9個都是0,佔用了硬碟容量,十分浪費!怎樣優化?UTF-8的誕生就是為了優化這個問題。
單字節的字符,字節的第一位設為0,對於英語文本,UTF-8碼只佔用一個字節,和ASCII碼完全相同;n個字節的字符n>1,第一個字節的前n位設為1,第n+1位設為0,後面字節的前兩位都設為10,這n個字節的其餘空位填充該字符unicode碼,高位用0補足。
如以下所示:UCS-2:000000000000000000000000011111112UTF-8:0XXXXXXX-----UCS-2:000000000000000000000111111111112UTF-8:110XXXXX10XXXXXX------UCS-2:000000000000000011111111111111112UTF-8:1110XXXX10XXXXXX10XXXXXX------UCS-2:000000000001111111111111111111112UTF-8:11110XXX10XXXXXX10XXXXXX10XXXXXX所以“Hi!你好”就變成了H01001000i01101001!00100001你111001001011110110100000好111001011010010110111101對比UCS-2及UTF-8,英文的字節變短了,雖然每個中文字符用多了一個字節。
但整體來說UTF-8只用了9個字節,比UCS-2的10個字節小了一點。
整體來說,UTF-8更節省了字節的佔用容量,至小在英文字符上的確較為節省。
本文是小弟學習前端寫有關於簡述:Unicode與UTF-8的關係?請大家多多指教。
如有任何意見及交流,可在下方留言,謝謝!MorefromRoyKwokFollow實踐想法Lovepodcastsoraudiobooks?Learnonthegowithournewapp.TryKnowableAboutHelpTermsPrivacyGettheMediumappGetstartedRoyKwok52Followers實踐想法FollowHelpStatusWritersBlogCareersPrivacyTermsAboutKnowable
延伸文章資訊
- 1What is UTF-8 Encoding? A Guide for Non-Programmers
UTF-8 is an encoding system for Unicode. It can translate any Unicode character to a matching uni...
- 2Unicode、UTF-8、UTF-16,終於懂了 - 閱坊
UTF-8 的編碼規則: 對於單字節的符號,字節的第一位設爲 0,後面7 位爲這個符號的Unicode 碼。因此 ...
- 3UTF-8 - Wikipedia
UTF-8 is a variable-width character encoding used for electronic communication. Defined by the Un...
- 4HTML Unicode (UTF-8) Reference - W3Schools
Unicode is a character set. UTF-8 is encoding. Unicode is a list of characters with unique decima...
- 5Convert Unicode to UTF-8
This browser-based utility converts your Unicode text to UTF-8 encoding. UTF stands for Unicode T...