2011-10-06 25 views
2

非特殊字符編碼爲HTML實體下面的代碼:如何在Java中

org.apache.commons.lang.StringEscapeUtils.unescapeHtml("Hello World"); 

給出:

Hello World 

,但我想知道如何要回解碼來自「Hello World」的字符串。我已經嘗試過escapeHtml方法,但這隻能編碼特殊字符。

回答

5

但我想知道如何從「Hello World」返回解碼後的字符串。我已經嘗試過escapeHtml方法,但是這沒有做任何有用的事情。

對於「任何有用的」都不是真的;如果您的測試字符串包含HTML特殊字符,如<,>,&,該函數會將其轉換爲& lt; & gt;和& amp; (並將其他較高的ISO8859-1代碼更改爲實體)。

如果你需要對其進行編碼,回爲Unicode實體格式,只需通過串碼點迭代:

for (int i = 0; i < str.length(); i++) 
    System.out.print("&#" + str.codePointAt(i) + ";"); 
+0

謝謝瑪達。我已經編輯了我的問題來反映答案,但留下了相同的問題,因爲我知道特殊字符被編碼。 – Custard