新聞速報

        

2014年2月27日 星期四

UTF-8 、UniCode 編碼轉換

在UTF-8之中,視第 1 個Byte的前 4 個Bit 有幾個(binary)1,表示使用幾個Byte;
其後接續的每一個Byte之bit組合,其開頭為(binary)10。
 
例如:中文需要 3 個Byte,格式為 1110 xxxx, 10xx xxxx, 10xx xxxx
有 16 個 "x",共有 2 個Byte,即為Unicode.
 
 
我這邊的實際測試結果
 
以"直"這個中文字為例:
 
直 UTF-8 編碼: E7 9B B4 (三個Byte)
  E7 = 1110  0111
  9B = 1001  1011
  B4 = 1011  0100
 
 
直 Unicode 編碼: F4 76 (二個Byte)
  F4 = 1111 0100
  76 = 0111 0110
 
 
 
Unicode為二個Byte,而 UTF-8 中漢字占三個Byte。
 
UTF-8編碼 理論上可以最多到6個Byte長。下面看一下UTF-8編碼表:
 
  U-00000000 - U-0000007F: 0xxxxxxx 
  U-00000080 - U-000007FF: 110xxxxx 10xxxxxx 
  U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx 
  U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 
  U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 
  U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 
 
http://www.cnblogs.com/xdotnet/archive/2007/11/23/unicode_and_utf8.html

沒有留言:

張貼留言