2012-03-29 91 views
1

我有一個帶有UTF8字符的字符串,我使用StringEntity將其放入HttpEntityEnclosingRequestBase並將其發送到服務器。 我的問題是,UTF8字符編碼爲\ xF2,服務器想要\ u00f2。我怎樣才能解決這個問題?或者我怎樣才能輕鬆地將一個UTF-8字符串轉換爲一個字符串,我有像substrings而不是UTF8字符?Java UTF-8字符串序列化 xF2而不是 u00F2

解決方案: 最後,解決方案是: StringEntity(string,「UTF-8」));

由於提前,大衛

+1

問:哪來的(16位) 「\ u00f2」 中的 「8」 ??? – paulsm4 2012-03-29 18:10:29

+0

好吧,所以我的主要問題應該是如何將UTF-8轉換爲UTF-16? – seriakillaz 2012-03-29 18:12:40

回答

1

您可以通過多種方式Java的內部字符編碼(UTF-16)和UTF-8字節序列之間的轉換。最簡單的是:

byte[] utf8data = "my string".getBytes("UTF-8"); 
String myString = new String(utf8data, "UTF-8"); 

還有一些面向流的類可以使用編碼在字節流和字符流之間進行轉換。請參閱java.io包。

-1

只是做


String str = ...; 
str = replace("\\x", "\\u00"); 
+0

對不起,如果我很困惑你的代碼的狀態是 – ControlAltDel 2012-03-29 18:16:19

+0

不幸的是我沒有序列化的字符串。 – seriakillaz 2012-03-29 18:21:23