偶爾會在數據中看到諸如' 這樣的字符,特征如下
以&#開頭,中間是一串數字,以;結尾
以&開頭,中間一串字符,以;結尾
比如最常見的 或者等價的 
瀏覽器遇到這些轉義符,會轉義回來,但如何通過代碼識別? org.apache.commons.lang.StringEscapeUtils.unescapeHtml提供了很好的說明
遇到上面的第一種情況,中間是數字的,直接將數字(unicode)轉為char
遇到第二情況,中間是字符,只能查映射表了,從映射表中找到字符對應的數字再轉換為char 看看代碼就一目了然了
看看HTML40如何定義的
再看看BASIC_ARRAY、ISO8859_1_ARRAY、HTML40_ARRAY 分別是什么
BASIC_ARRAY
ISO8859_1_ARRAY
HTML40_ARRAY
再擴展下
從前面可以看到轉義字符中間的那段數字是unicode,那么 這個 轉移字符可以 隨便構造了 ,并不限于上面的定義,比如 中的unicode是20013,那么構造一個轉移字符中,經過瀏覽器的渲染 就變回中了 ,雖然不必這么繞為了顯示一個字符,但如果在一些不方便傳輸特殊字符的場景 就可以派上用途了
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答