[英]How to decode the Unicode encoding in java?
我的網站上有“搜索”,我們對查詢進行了框架並發送了請求,並且“響應”從供應商處以JSON的形式返回。 供應商對我們的網站進行爬網並從我們的網站捕獲數據並發送響應。 在我們的設計中,我們使用GSON將JSON轉換為Java對象。 我們在元數據中使用UTF-8作為字符集。
我遇到的情況是,響應有時會根據請求對特殊字符進行Unicode編碼。 瀏覽器以一種奇怪的方式呈現特殊字符的Unicode編碼。 我應該如何解碼這種Unicode編碼?
例如,對於特殊字符“ ndash”,我在響應中看到它被編碼為“ \\ u2013”
澄清Unicode和字符編碼之間的區別
統一碼
字符編碼
Java字符串是 總是 UTF-16
。 因此,當您構造一個String時,可以使用以下String構造函數
new String(byte[], encoding)
第二個參數應該是客戶端發送字符時字符使用的編碼。 如果您不明確定義編碼,則將獲得默認的系統編碼,可以使用Charset.defaultCharset();
進行檢查Charset.defaultCharset();
。
您可以在啟動JVM時手動將默認編碼設置為參數
-Dfile.encoding="utf-8"
盡管很少需要,但您也可以使用CharsetDecoder / CharsetEncoder 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.