tft每日頭條

 > 圖文

 > unicode編碼和utf-8的區别

unicode編碼和utf-8的區别

圖文 更新时间:2024-10-08 20:36:28

unicode編碼和utf-8的區别?簡潔的語言說簡單的事Unicode 是國際組織制定的可以容納世界上所有文字和符号的字符集,它定義了文字和二進制的對應關系,并為每個字符分配了一個唯一的編号編号靠前的需要一個字節存儲,編号靠後的需要三個字節才能存儲,今天小編就來說說關于unicode編碼和utf-8的區别?下面更多詳細答案一起來看看吧!

unicode編碼和utf-8的區别(聊一下Unicode及UTF-8UTF-16UTF-32)1

unicode編碼和utf-8的區别

簡潔的語言說簡單的事

Unicode 字符集

Unicode 是國際組織制定的可以容納世界上所有文字和符号的字符集,它定義了文字和二進制的對應關系,并為每個字符分配了一個唯一的編号。編号靠前的需要一個字節存儲,編号靠後的需要三個字節才能存儲。

注意:Unicode 隻是一個字符集,如果要将字符存儲到内存,還需要使用UTF字符編碼,它規定了如何将文字的編号存儲到内存中

UTF 編碼

UTF 是 Unicode Transformation Format 的縮寫,意思是“Unicode轉換格式”

Unicode 可以使用的編碼有三種,分别是:

  • UTF-8:一種變長的編碼方案,使用 1~6 個字節來存儲;
  • UTF-16:介于 UTF-8 和 UTF-32 之間,使用 2 個或者 4 個字節來存儲,長度既固定又可變。
  • UTF-32:一種固定長度的編碼方案,不管字符編号大小,始終使用 4 個字節來存儲;

UTF-8

utf-8 編碼規則很簡單:如果隻有一個字節,那麼最高的比特位為 0,兼容ASCII 編碼;如果有多個字節,那麼第一個字節從最高位開始,連續有幾個比特位的值為 1,就使用幾個字節編碼,剩下的字節均以 10 開頭。

  • 單字節編碼:0xxxxxxx
  • 雙字節編碼:110xxxxx 10xxxxxx
  • 三字節編碼:1110xxxx 10xxxxxx 10xxxxxx
  • 四字節編碼:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

UTF-16

UTF-16 将Unicode字符集分成兩部分,第一部分對于 Unicode 編号範圍在 0 ~ FFFF 之間的字符,使用兩個字節存儲,并且直接存儲 Unicode 編号,不進行編碼轉換。第二部分對于 Unicode 編号範圍在 10000~10FFFF 之間的字符,使用四個字節存儲

  • 雙字節:xxxxxxxx xxxxxxxx
  • 四字節:110110xx xxxxxxxx 110111xx xxxxxxxx

UTF-32

UTF-32 是固定長度的編碼,始終占用 4 個字節,足以容納所有的 Unicode 字符,所以直接存儲 Unicode 編号即可,不需要任何編碼轉換。浪費了空間,提高了效率

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved