如何在 android 中将字符串转换为 unicode
How to convert string into unicode in android
我正在将一些 unicodes
从 json
解析到我的 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
文件中。
我正在将一些 unicodes
从 json
解析到我的 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
文件中。