我有一个非常简单的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(但没有太大区别)。
答案 0 :(得分:0)
你试过javascript吗
ATOB()
在将其发布到webview之前解码使用base-64编码编码的数据字符串的方法。