在android中解码HTML实体

时间:2010-05-27 06:21:32

标签: html android decode

我需要解码HTML实体,例如来自ö到ö,和& amp;到&。

URLEncoder.decode(str)不能完成这项工作(从%表示法转换)。 TextUtils有一个HTMLencode,但不是HTMLdecode。

是否有解码HTML实体的功能?

5 个答案:

答案 0 :(得分:107)

Html class应该这样做,但据说一切都不受支持。它总是对我有用,但我从来没有ö所以我不知道这个。 尝试Html.fromHtml(yourStr)获取已解码的字符串。

答案 1 :(得分:17)

在API v24之后,

Html.fromHtml(String html)已弃用,所以这是正确的方法

git fetch origin

答案 2 :(得分:10)

只需使用此代码

即可
  Html.fromHtml(String).toString();

希望这会对你有所帮助

答案 3 :(得分:1)

您可以通过调用

从字符串中删除特殊字符
responsestring.replace(“special char here”, “”);

你可以将响应转换为htmlstring中的字符串,就像那样 - Html.fromHtml(这里是响应字符串) 但是这种方法在API 24上已经过折旧,所以你需要以正确的方式进行 -

if (Build.VERSION.SDK_INT >= 24)
{
    post_description.setText(Html.fromHtml( response here , Html.FROM_HTML_MODE_LEGACY));
}
else
{
    post_description.setText(Html.fromHtml( response here ));
}

答案 4 :(得分:0)

您可以按照以下步骤使用WebView轻松表示任何html文本。

首先将html格式的数据转换为:

String res=null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
res=Html.fromHtml(product.getDescription(),Html.FROM_HTML_MODE_COMPACT).toString();
}
else{
res=Html.fromHtml(product.getDescription()).toString();
}

然后将您的数据加载到WebView中:

myWebView.loadDataWithBaseURL(null, res, "text/html", "utf-8", null);