Unicode to UTF-8字碼轉換
Thursday, August 30, 2007 by JSDN
就維基百科上的說明是
Unicode(統一碼)以2byte表達,共有65536種組合,然而Unicode 只是一個字形和內碼上的標準,並沒有定義實際在電腦上存取的方法,因此Unicode協會便定義了一整套的電腦存取Unicode編碼的轉換格式,並考慮了與其它編碼方式兼容,稱之為UTF(Unicode/UCS Transformation Format,統一碼/通用字集變換格式)。常用的格式有UTF-8和UTF-16。Unicode(統一碼、萬國碼、單一碼)是一種在電腦上使用的字元編碼。它為每種語言中的每個字元設定了統一併且唯一的二進位編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。1990年開始研發,1994年正式公佈。隨著電腦工作能力的增強,Unicode也在面世以來的十多年裡得到普及。
UTF-8(8 位元 Universal Character Set/Unicode Transformation Format)是Unicode 的其中一種可變長度字元編碼。它可以用來表示 Unicode 標準中的任何通用字元。其編碼方式相容ASCII ,令原來處理 ASCII 字元的軟體無需或只作少量改動後,便可繼續使用。因此,它逐漸成為電子郵件、網頁及其他儲存或傳送文字的應用中,優先採用的編碼。
Unicode->UTF-8
U+0000~U+007F (1 byte,128個) 0+7bits
U+0080~U+07FF (2 byte,1920個) 110+5bits, 10+6bits
U+0800~U+FFFF (3 bytes,63488個) 1110+4bits, 10+6bits,10+6bits
例如:
"我"字的Unicode編碼為U+6621 01001111 01100000
按照UTF-8的編碼規則分解成 xxxx0100 xx111101 xx100000
所以"我"字的UTF-8編碼: E68891 11100100 10111101 10100000
參考資料:
http://zh.wikipedia.org/w/index.php?title=Unicode&variant=zh-tw
http://zh.wikipedia.org/w/index.php?title=UTF-8&variant=zh-tw