2011-11-12 45 views
0

我想轉義Unicode字以在URL中使用HTTPRequest,例如,要將「محمود」轉換爲「%D9%85%D8%AD%D9%85 %D9%88%D8%AF「我注意到,每個字符都轉換爲兩個HEX 非常感謝如何轉義在URL中使用的Unicode單詞

回答

1

轉換爲UTF-8,然後url編碼字符不在[[:alnum:]]

\ Url編碼是將字符轉換爲%<HIGHNIBBLE><LOWNIBBLE>的形式,其中HIGHNIBBLE = (ch >> 4) & 0x0FLOWNIBBLE = (ch & 0x0F)

查看RFC 1738(S)2.2瞭解更多詳情。

因爲它看起來像你使用的是java,所以你必須使用byte[]而不是Stringchar[]

+0

但是如何將HIGHNIBBLE和LOWNIBBLE轉換爲例如%D9%85,你能否給我一個樣本 – JustMe

+1

我知道答案 添加此課程http://berryopen.googlecode.com/svn-history /r8/trunk/openpop/MyURLEncoder.java 並使用此方法MyURLEncoder.encode(str,「utf-8」); – JustMe

+0

@JustMe Foreach UTF8字符串數組中的字符串:'「%」+ Integer.toHexString(Character.getNumericValue(ch))' – moshbear

相關問題