如何在Java字符串中解码Unicode字符?

3

在我的Android项目中,我需要使用TextView来显示文本,但是我遇到了以下字符串的问题。请有人帮帮我。

这是我的Java字符串:

TRAI floats new paper on \\u0027Net Neutrality\\u0027: Lists disadvantages of zero-rating plans

这是在我的TextView中显示的样子:
TRAI floats new paper on \u0027Net Neutrality\u0027: Lists disadvantages of zero-rating plans

我希望它展示出这样的效果:
TRAI floats new paper on 'Net Neutrality': Lists disadvantages of zero-rating plans"

我该怎么办?提前感谢您的帮助!
更新:
我已经尝试了这段代码,但对我没用。
title.setText(Html.fromHtml(news.getTitle()).toString())

我需要针对所有类似于'\uxxxx'这样的字符提供解决方案,而不只是'\u0027'。

3个回答

4

不要双写反斜杠:

String s = "TRAI floats new paper on \u0027Net Neutrality\u0027: Lists disadvantages of zero-rating plans";

这将具有以下值:
TRAI floats new paper on 'Net Neutrality': Lists disadvantages of zero-rating plans

是的,我知道,但这个字符串不在我的控制范围内,我从互联网上获取了这个字符串,它带有双反斜杠。 - tomisyourname

3

试试这个

str = org.apache.commons.lang.StringEscapeUtils.unescapeJava(str);

请参考Apache commons lang进行翻译。


如何将您的答案标记为最终答案?这是另一个问题,哈哈。 - tomisyourname

1
使用:
textView.setText(Html.fromHtml("unicode_character");

这是我的代码,抱歉,我应该将其放在问题中。 title.setText(Html.fromHtml(news.getTitle()).toString()) 对我来说不起作用。 - tomisyourname
用单个反斜杠替换双反斜杠。 - Vishal Raj
是的,我知道,但这个字符串不在我的控制范围内,我从互联网上获取了这个字符串,它只是带有双反斜杠。 - tomisyourname

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接