2011-02-08 91 views

回答

3

該字符的UTF8代碼。 inverted question mark是Unicode代碼點191,在UTF8中是0xc2:0xbf

您將它們視爲帶符號的字節。例如,-62有符號是256-62194 unsigned - 這是十六進制0xc2

同樣,-65簽名是256-65191無符號 - 這是十六進制0xbf

如果要將UTF8序列轉換爲代碼點,可以使用下表。

 
    Range    Encoding Binary value 
    ----------------- -------- -------------------------- 
    U+000000-U+00007f 0xxxxxxx 0xxxxxxx 

    U+000080-U+0007ff 110yyyxx 00000yyy xxxxxxxx 
         10xxxxxx 

    U+000800-U+00ffff 1110yyyy yyyyyyyy xxxxxxxx 
         10yyyyxx 
         10xxxxxx 

    U+010000-U+10ffff 11110zzz 000zzzzz yyyyyyyy xxxxxxxx 
         10zzyyyy 
         10yyyyxx 
         10xxxxxx 

例如,你的0xc2:0xbf是二進制11000010 10111111其中第二殼體相匹配:

 
     11000010 10111111 
     ||||| |||||| 
     |||\\ ////// 
     ||| |||||||| 
    00000000 10111111 -> 0x00bf -> 191 
1

那些2個字節可能 UTF-8

爲ASCII你需要一個特定的代碼頁。

什麼是'可讀'字符編碼?

+0

ASCII沒有代碼頁。它是7位。 – 2011-02-08 19:51:41

1

看那字節值十六進制:如果你看到了Unicode information有問題的字形

  • -62是爲0xC2
  • -65是爲0xBF

,你可以看到這是插入構成倒置問號字形的UTF-8編碼的兩個字節。