如何在 android 中将字符串转换为 unicode

How to convert string into unicode in android

我正在将一些 unicodesjson 解析到我的 android 应用程序,api 给出了 unicodes 个图标,例如 \ue600,当我将此 unicode 直接添加到 textview 中时,如 textview.setText("\ue600");,它会在 textview 上给出正确的图标。但是当我从 json api 解析这个 unicode & 然后我 setText unicode 它只是在 textview 上显示 \ue600。 我如何将这些字符串解析或转换为 unicodes 以获取 textview.

中的图标

谢谢

StringEscapeUtils 完成了大部分工作,但最多只能完成 HTML4。对于未涵盖的字符,您可以制作自己的 class 并根据需要添加。这是一个示例 class

public class HTMLDecoder {
    public static String decodeHTML(String html) {
        String out = StringEscapeUtils.unescapeHtml4(html);
        out = out.replaceAll("®", "®");
        out = out.replaceAll("â\u0084¢", "™");
        return out;
    }
}

添加到build.bradle

compile 'org.apache.commons:commons-lang3:3.0'

将您的 unicode 转换为这种格式 ,然后在您的 textview textview.setText(Html.fromHtml(your_unicode_here)); 中像这样使用 它应该有效。

你如何解析 JSON 数据?如果您使用 Gson, you can use GsonBuilder.disableHtmlEscaping() 方法来显示正确的字符而不是它们的代码。

textview.setText(Html.fromHtml(UNICODE_CHARS));

以下适合我。

String unicode = "\u0048\u0065\u006C\u006C\u006F";
String Title = StringEscapeUtils.unescapeJava(unicode);
System.out.println(Title);

并添加依赖项:compile 'commons-lang:commons-lang:2.6' 在您的 build.gradle 文件中。