1
在我的android應用程序中,我使用套接字並獲取XML作爲響應。 XML,我得到的是以下幾點:如何解碼android中的特殊字符?
<response>
<result>
<id>90</id>
<name>J�nna</name>
</result>
</response>��
以下是獲得響應代碼:
PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())) ;
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8"));
writer.write(sMessage);
writer.flush();
StringBuilder sb = new StringBuilder();
boolean dataStreamStarted = false;
int sleepCounter = 0;
int sleepMaxCounter = 50;
int sleepMaxDataCounter = 3;
int sleepTime = 50;
long startTime = System.currentTimeMillis();
while(true)
{
if (reader.ready())
{
sb.append((char) reader.read());
dataStreamStarted = true;
}
else
{
Thread.sleep(sleepTime);
if (dataStreamStarted && (sleepCounter >= sleepMaxDataCounter))
{
break;
}
else
{
if (sleepCounter >= sleepMaxCounter)
{
break;
}
}
sleepCounter++;
}
}
long endTime = System.currentTimeMillis();
writer.close();
reader.close();
socket.close();
response = sb.toString();
我嘗試使用下面的代碼此字符串解碼:
String str = URLDecoder.decode(response, "UTF-8");
,但它不是使任何差異。字符串看起來仍然相同由於這些字符,我無法解析這個字符串。任何想法我怎麼能解決它?我搜索了很多,我找到的任何解決方案都沒有奏效。提前致謝。
張貼在您收到的字符串代碼。 (您創建「響應」值的位置) – njzk2