Android WebView没有完全解码String

时间:2016-09-15 08:41:24

标签: android encoding utf-8 webview xamarin.android

我有一个非常简单的WebView,需要将文本显示为HTML。我从byte数组中的服务器检索数据。我需要将byte数组显示为可读文本。

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, "");

我尝试将byte数组转换为String,变量html变为\"U3RlcCAxOiBZb3UgYXJlIGEgd2lubmVyLg==\"

对我来说这看起来像Base64,当我使用在线转换器(https://www.base64decode.org/)时,它会转换为正确的文本。但WebView屏幕上的输出看起来像"U3RlcCAxOiBZb3UgYXJlIGEgd2lubmVyLg=="

我可能缺少什么想法?

仅仅是为了获取更多信息,这是在Xamarin.Android中,因此代码是C#而不是Java(但没有太大区别)。

1 个答案:

答案 0 :(得分:0)

你试过javascript吗

  

ATOB()

在将其发布到webview之前解码使用base-64编码编码的数据字符串的方法。