如何读取 java 或 android 中的 unicode "\u1f40d"?
How to read unicode "\u1f40d" in java or android?
我最近在尝试挖掘一些东西。
我可以在 java 或 android 中读取“\u1f40d”吗?
我这样试过
BufferedReader rd = new BufferedReader(new InputStreamReader(new ByteArrayInputStream("\u1f40d".getBytes()), "utf-8"));
utf8 = rd.readLine();
但是结果是
ὀd
我希望结果是(这是一条蛇表情。http://chars.suikawiki.org/string?s=%F0%9F%90%8D)
这个特殊字符在IE或者MacChrome,Safari中都可以看到(在我的WindowChrome中看不到)
请帮帮我
假设我有这个字符串 -
String myString = "\u0048\u0065\u006C\u006C\u006F World";
我想转换它,然后您可以通过 -
以编程方式执行此操作
String str = myString.split(" ")[0];
str = str.replace("\","");
String[] arr = str.split("u");
String text = "";
for(int i = 1; i < arr.length; i++){
int hexVal = Integer.parseInt(arr[i], 16);
text += (char)hexVal;
}
// Text will now have Hello
干杯:)
试试这个
int codePoint = Integer.parseInt("1f40d", 16 ); // it will be 128013
System.out.println(new String(new int[]{codePoint}, 0, 1));
问题是 \uXXXX
表示法用于 16 位 char
,有 4 个十六进制数字。 216
以上的Unicode代码点
int codePoint = 0x1f40d;
System.out.println(new String(new int[] {codePoint}, 0, 1));
我最近在尝试挖掘一些东西。
我可以在 java 或 android 中读取“\u1f40d”吗?
我这样试过
BufferedReader rd = new BufferedReader(new InputStreamReader(new ByteArrayInputStream("\u1f40d".getBytes()), "utf-8"));
utf8 = rd.readLine();
但是结果是
ὀd
我希望结果是(这是一条蛇表情。http://chars.suikawiki.org/string?s=%F0%9F%90%8D)
这个特殊字符在IE或者MacChrome,Safari中都可以看到(在我的WindowChrome中看不到)
请帮帮我
假设我有这个字符串 -
String myString = "\u0048\u0065\u006C\u006C\u006F World";
我想转换它,然后您可以通过 -
以编程方式执行此操作String str = myString.split(" ")[0];
str = str.replace("\","");
String[] arr = str.split("u");
String text = "";
for(int i = 1; i < arr.length; i++){
int hexVal = Integer.parseInt(arr[i], 16);
text += (char)hexVal;
}
// Text will now have Hello
干杯:)
试试这个
int codePoint = Integer.parseInt("1f40d", 16 ); // it will be 128013
System.out.println(new String(new int[]{codePoint}, 0, 1));
问题是 \uXXXX
表示法用于 16 位 char
,有 4 个十六进制数字。 216
int codePoint = 0x1f40d;
System.out.println(new String(new int[] {codePoint}, 0, 1));