2016-09-15 9 views
0

非常に簡単なWebViewがあり、テキストをHTMLとして表示する必要があります。私はbyte配列にあるサーバーからデータを取得します。私はそのbyte配列を読み込み可能なテキストとして表示する必要があります。Android WebViewで完全にデコードされない文字列

var wv = FindViewById<WebView>(Resource.Id.webview); 

var container = AutoFac.Container; 
_routinesService = container.Resolve<IRoutinesService>(); 
byte[] documentHtml = _routinesService.GetFragment(documentId); 

string mimeType = "text/html"; 
string encoding = "utf-8"; 
var html = System.Text.Encoding.UTF8.GetString(documentHtml); 

wv.LoadDataWithBaseURL("", html, mimeType, encoding, ""); 

私はStringbyte配列を変換しようと、変数html\"U3RlcCAxOiBZb3UgYXJlIGEgd2lubmVyLg==\"

これは私にはBase64でのように見える、と私はオンラインコンバータ(https://www.base64decode.org/)を使用する場合、それはに変換しないとなり正しいテキストしかし、WebViewの画面の出力は、"U3RlcCAxOiBZb3UgYXJlIGEgd2lubmVyLg=="

のように見えますか?

これはXamarin.Androidにあるので、コードはJavaではなくC#です(しかし、それほど大きな違いはありません)。

答えて

0

を使用すると、JavaScriptの

ATOB()のWebViewにそれを投稿する前に、ベース64符号化を用いて符号化されたデータの列を復号

方法を試してみました。

+0

私はしていません。私はそれにjavascriptを実行する機能を追加する必要はありませんしたいのでWebViewは、HTMLを表示する必要があります。私はConvert.ToBase64Stringを使用して、その文字列をバイト配列に変換してから再度UTF8としてデコードしましたが、同じ結果が得られました。 –

関連する問題