UTF8 編碼轉換 騰訊

2021-07-08 19:58:57 字數 1229 閱讀 7787

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...