2015-10-04 57 views
0

我建設使用的URLConnection搶網頁內容的Android應用程序,但由於某種原因它變成像實際撇號(')符號到它的ASCII碼值('Android URLConnection返回ASCII小數?

例子:Let's go to the partyLet's go to the party

我已經嘗試將InputStream charset設置爲ASCII,但這沒有幫助。

代碼:

  String bodyHtml; 

     URL url = new URL(webPage); 
     URLConnection urlConnection = url.openConnection(); 
     urlConnection.setRequestProperty("Authorization", "Basic " + authStringEnc); 
     InputStream is = urlConnection.getInputStream(); 
     InputStreamReader isr = new InputStreamReader(is, "ASCII"); 

     int numCharsRead; 
     char[] charArray = new char[1024]; 

     StringBuilder sb = new StringBuilder(); 
     while ((numCharsRead = isr.read(charArray)) > 0) { 
      sb.append(charArray, 0, numCharsRead); 
     } 

     /*StringBuffer sb = new StringBuffer(); 
     while ((numCharsRead = isr.read(charArray)) > 0) { 
      sb.append(charArray, 0, numCharsRead); 
     }*/ 

     bodyHtml = sb.toString(); 
+1

嘗試凌空通過Google :-) –

+0

'新的InputStreamReader(是,「ASCII」);'。 ???? ASCII?刪除! – greenapps

回答

0

您需要將收到的字符串,HTML和回字符串轉換。 Html.fromHtml(值)會將收到的值轉換爲html。調用的ToString()將接收到來自URL的內容後返回您的字符串(沒有任何HTML標記)

// import this package 
import android.text.Html; 

..你可以說的內容轉換成可讀的形式..

String value ="Let's go to the party"; 

String formattedValue = Html.fromHtml(value).toString().trim(); 
1

使用URLDecoder.decode

bodyHtml = URLDecoder.decode(bodyHtml); 
+0

似乎不推薦。我試過java.net.URLDecoder.decode(sb.toString(),「UTF-8」);但是這並沒有解決問題 – murdoch