Java 将类似Unicode的字符串转换为真实Unicode字符串的最短代码
我是Java新手,在过去的一个小时里,我一直在用谷歌fu广告实验来解决这个问题。我需要将s1转换为s2,其中s1和s2为:Java 将类似Unicode的字符串转换为真实Unicode字符串的最短代码,java,string,unicode,Java,String,Unicode,我是Java新手,在过去的一个小时里,我一直在用谷歌fu广告实验来解决这个问题。我需要将s1转换为s2,其中s1和s2为: String s1 ="\\u00C1"; //... String s2 ="Á"; 自动您需要扫描字符串以找到“\u”部分,然后将以下四个字符提取为一个单独的字符串,然后使用基数为16的Integer.parseInt(字符串s,int基数)将00C1转换为int,然后将int转换为char为什么在字符串中使用“\\”?我从Twitter AP
String s1 ="\\u00C1";
//...
String s2 ="Á";
自动您需要扫描字符串以找到“\u”部分,然后将以下四个字符提取为一个单独的字符串,然后使用基数为16的
Integer.parseInt(字符串s,int基数)
将00C1
转换为int
,然后将int
转换为char
为什么在字符串中使用“\\”?我从Twitter API获得这些类型的字符串,因此,我无法控制它。您使用的是JSON版本的API吗?如果是这样的话,你应该使用JSON解析器,它会帮你解决这个问题,而不是重新发明轮子。我想如果她真的是指“\u00C1”
而不是“\\u00C1”
,她会自己解决的,她不会问这个问题。是的,也许我的回答太天真了。对不起。不,等等,让我们先看看她说了什么。是的,这个解决方案对我来说太明显了。所讨论的字符串实际上有两个反斜杠。谢谢。我希望有一个更短的解决方案,比如可能使用正则表达式替换函数。你真的需要逐字逐句地解析这个字符串,嗯?恐怕是这样。至少我不知道有什么更短的解决方案。我的意思是,如果有捷径的话,我想不久前会提到的。
$ cat Test.java
public class Test {
public static void main(String[] args) {
String s = "\u00C1";
System.out.println(s);
}
}
$ javac Test.java
$ java Test
Á