utf-8是現在流行的編碼方式,下面是rfc2279對utf-8編碼規則的規定
ucs-4 range (hex.) utf-8 octet sequence (binary)
0000
0000-0000 007f 0******x
0000
0080-0000 07ff 110***xx 10******
0000
0800-0000 ffff 1110***x 10****** 10******
0001
0000-001f ffff 11110*** 10****** 10****** 10******
0020
0000-03ff ffff 111110xx 10****** 10****** 10****** 10******
0400
0000-7fff ffff 1111110x 10****** ... 10******
根據這個規則,中文字元『我』的unicode值為0x6211,utf-8編碼之後為0xe68891。 請回答以下問題:
a)英文本元『a』,其unicode的十六進製制值為0x61,則其utf-8編碼後的十六進製制值為 ?
b)中文字元『騰』,其unicode的十六進製制值為0x817e,則其utf-8編碼後的十六進製制值為 ?
c)中文字元『訊』,其unicode值經過utf-8編碼之後為0xe8aeaf,則請問其unicode的十六進製制值是 ?
a、0x61在0x00-0x7f之間,所以和ascii編碼完全相同,所以utf-8編碼後的值還是0x61。
b、0x817e在0x0800-0xffff之間,使用了3位元組模版 1110***x 10****** 10******,將0x817e寫成二進位制1000 0001 0111 1110,用這個位元流依次替代模版中的x,得到11101000 10000101 10111110,即e885be。
c, 中文字元』訊』的unicode經過utf-8編碼後的十六進製制0xe8aeaf,這是求的逆過程,首先轉化為二進位制:1110 1000 1010 1110 1010 1111,從第乙個4位1110可以看出落在0800-ffff區間 ,1 110 1000 1010 1110 1010 1111;所以unicode的十六進製制就是8baf.
ANSI與UTF 8編碼轉換
將ansi編碼裝換為utf 8在windows mfc環境下測試下面的 static int ansi2utf8 in const char csrc,out char cdest 以下 將utf 8 轉換為gb2312 intutf8togb2312 const char sourcebuf,si...
轉換編碼到utf 8
轉換編碼,通常是轉換為utf 8 param string string 要轉換的字串 param string toencode 要轉換為的編碼,預設為utf 8 return string function convert encoding string,to encode utf 8 檢測字串...
介紹utf8編碼
utf8並不算是一種電腦編碼,而是一種儲存和傳送的格式,如前所述,每個unicode ucs字元都以 2或4個bytes來儲存,看看以下的比較 以 i am chinese 為例 用ansi儲存 12 bytes 用unicode ucs2儲存 24 bytes 2 bytes header 用uc...