unicode,utf-8
字符集:字符集規定了某個文字對應的二進位制數字存放方式(編碼)和某串二進位制數值代表了哪個文字(解碼)的轉換關係。計算機可以輸出列印的是實體化的文字,但是在計算機儲存中存放的是二進位制的bit流,如何把這兩者之間做準確的互相轉換就需要一個標準,字符集就規定了這個標準。
字元編碼:字符集只是一個規則集合的名字,要正確編碼轉碼一個字元需要3個元素:字型檔表(儲存所有可顯示的字元),編碼字符集(用一個編碼值表示一個字元在字型檔中的位置),字元編碼(把編碼字符集和實際儲存數值之間的轉換關係),栗子:在ASCll中A在表中排65,所以A編碼後的數值01000001等於十進位制的65轉換成二進位制的結果。
utf-8:UTF-8編碼為變長編碼。最小編碼單位是一個位元組。一個位元組的前1-3個bit為描述性部分,後面為實際序號部分。
如果一個位元組的第一位為0,那麼代表當前字元為單位元組字元,佔用一個位元組的空間。0之後的所有部分(7個bit)代表在Unicode中的序號。
如果一個位元組以110開頭,那麼代表當前字元為雙位元組字元,佔用2個位元組的空間。110之後的所有部分(7個bit)代表在Unicode中的序號。且第二個位元組以10開頭
如果一個位元組以1110開頭,那麼代表當前字元為三位元組字元,佔用2個位元組的空間。110之後的所有部分(7個bit)代表在Unicode中的序號。且第二、第三個位元組以10開頭
如果一個位元組以10開頭,那麼代表當前位元組為多位元組字元的第二個位元組。10之後的所有部分(6個bit)代表在Unicode中的序號。
uncode和utf-8的關係:Unicode就是編碼字符集,而UTF-8就是字元編碼,即Unicode字型檔的一種實現形式。
相關文章
- unicode vs utf-8Unicode
- unicode和UTF-8的區別Unicode
- 你真的瞭解 Unicode 和 UTF-8 嗎?Unicode
- 徹底弄懂UTF-8、Unicode、寬字元、localeUnicode字元
- 字元編碼:Unicode & UTF-16 & UTF-8字元Unicode
- Unicode、GBK、UTF-8、ASCII的編碼簡介UnicodeASCII
- 字元編碼發展史4 — Unicode與UTF-8字元Unicode
- 帶你瞭解 Unicode和UTF-8編碼知識Unicode
- Unicode中UTF-8與UTF-16編碼詳解Unicode
- Unicode,UTF-8和UTF-16的區別與聯絡Unicode
- webSocket 二進位制傳輸基礎準備-UTF-16和UTF-8轉UnicodeWebUnicode
- 徹底搞懂字元編碼(unicode,mbcs,utf-8,utf-16,utf-32,big endian,little endian...)字元Unicode
- unicodeUnicode
- Hacking with UnicodeUnicode
- Unicode 與 UTFUnicode
- utf-8和gbk
- Unicode的前世今生Unicode
- xls 編碼 utf-8
- springboot設定UTF-8Spring Boot
- Unicode編碼解碼Unicode
- JavaScript 字元 Unicode 表示法JavaScript字元Unicode
- 使用ofstream輸出unicodeUnicode
- Unicode編碼介紹Unicode
- Python convert string to unicode numberPythonUnicode
- unicode轉碼工具類Unicode
- utf-8的中文漢字
- leetcode393. UTF-8 ValidationLeetCode
- C++ string互轉wstring/Unicode互轉ANSI/Unicode互轉UTF8C++Unicode
- ECMAScript 6:更好的 Unicode 支援Unicode
- catalyst支援unicode的重要配置Unicode
- str跟unicode不一樣Unicode
- UTF-8編碼規則(轉)
- 什麼是 unicode 程式碼點Unicode
- 字符集編碼(三):UnicodeUnicode
- 2-Windows程式設計 -UnicodeWindows程式設計Unicode
- PHP中文GBK編碼轉UTF-8PHP
- PHP 與 UTF-8 的最佳實踐PHP
- C++ UTF8 互轉 UnicodeC++Unicode
- JavaScript獲取給定字元的unicodeJavaScript字元Unicode