2013-04-16 68 views
1

我有一個網頁從互聯網上獲得,而內容是utf-8編碼爲一個字符串,它可能是這樣的:如何從代表的UTF-8字符串獲取源字符串

{"has_more": true, "items": [{"body": "\u6ca1\u6709\u4f20\u8bf4\u4e2d\u7684\u90a3\u4e48\u597d",...} 

我試着使用URLDecoder.decode(),但它不起作用,它輸出的是輸入的內容。有什麼建議麼?這是utf-8編碼顯式的String對象,它不是inputStream或者某物。我已經做了一些搜索工作,發現幾乎沒有關係。

+3

我認爲你必須瞭解JSON。 http://en.wikipedia.org/wiki/JSON – Kishore

+0

這正是我想要的JSON值 – iCode

回答

1

的源代碼符號爲u編碼(\uXXXX),但字符串本身是無法區分普通的字符串(爪哇/ JavaScript的),如\n\t

的JDK具有雖然轉換工具:

native2ascii -encoding UTF-8 -reverse mypage.json plain-utf8.json 
+0

。現在我可以閱讀這些文字。 – zoujyjs

+0

@zoujyjs你不應該以這種形式閱讀它,你應該解析JSON並閱讀結果。 – Esailija

+0

@Esailija是的,謝謝你的建議。我現在使用JSONObject來解析字符串,我只是想在測試Web界面時閱讀一些示例輸出。我認爲谷歌GSON在這個應用程序中不夠好,要將字符串轉換爲對象。 – zoujyjs

1

這是JSON編碼,它以特定的方式處理某些特定的字符。它不是URL編碼,因此不起作用。

爲什麼不嘗試使用JSON庫? json simpleGSON是很好的開始。

作爲一個好奇:這裏就是你所看到的編碼描述:RFC4627

相關問題