鍍金池/ 問答/C++  HTML/ 字符編碼怎么看?

字符編碼怎么看?

以下都是“中國”兩個字的編碼:

UTF-8:中国
URL編碼(同樣是UTF-8):%e4%b8%ad%e5%9b%bd
unicode:u4e2du56fd

問題1:為什么UTF-8的編碼和URL編碼不一樣?都是UTF-8不是嗎?
問題2: % u 這些前綴什么意思?
問題3:字符編碼要怎么看?

回答
編輯回答
陪妳哭

一知半解,嘗試拋磚引玉:)

  1. 中国 并非 utf-8,而是HTML、XML 等 SGML 類語言的轉(zhuǎn)義序列(escape sequence)。它們不是「編碼」。以 HTML 為例,這三種轉(zhuǎn)義序列都稱作 character reference:第一種是 character entity reference,后接預(yù)先定義的 entity 名稱,而 entity 聲明了自身指代的字符。后兩種是 numeric character reference(NCR),數(shù)字取值為目標(biāo)字符的 Unicode code point;以「&#」開頭的后接十進(jìn)制數(shù)字,以「&#x」開頭的后接十六進(jìn)制數(shù)字。NCR 以 Unicode 為準(zhǔn),與文檔編碼無關(guān)?!钢袊苟址謩e是 Unicode 字符 U+4E2D 和 U+56FD,十六進(jìn)制表示的 code point 數(shù)值「4E2D」和「56FD」

所以。 其實上你可以理解是特定前綴+ Unicode ( 非 utf-8)編碼。 所以你看看其實和 unicode 是一樣的。

  1. % 是URL編碼規(guī)定的轉(zhuǎn)義前綴。 所以你看看這個其實和 utf-8 的中國是一樣一樣的(請刨除前綴看)
  2. 說實在的。。沒有看懂了。
2017年8月26日 13:47
編輯回答
萌二代

問題1: 中 字的 utf8 碼是E4B8AD 國字的utf-8 是E59BBD,在utf8的世界里,雖然可以表示中文,但是任何字符都有對應(yīng)的碼表位置。簡單說 你認(rèn)為的utf-8 中國是錯誤的。
問題2 % 號是前綴是轉(zhuǎn)義,U 是unicode 編碼規(guī)定的前綴
問題3:沒有g(shù)et 到樓主的意思,是應(yīng)用中應(yīng)該選擇什么樣的編碼呢,還是 別的

2018年8月21日 18:41