我只有字符串\u0130smail
,我想将其转换为
İsmail并转换
\u0130 --> İ
\u00E7 --> ç
我试过
String str = "\u0130smail";
sysout(str);
并且它有效,但每当我从数据库或互联网上获得字符串"\u0130smail"
时,它都不会给出正确的结果。
static String deneme(String string){
String string2 = null;
try {
byte[] utf8 = string.getBytes("UTF-8");
string2 = new String(utf8, "UTF-8");
} catch (UnsupportedEncodingException e) {
}
return string2;
}
也不起作用。
答案 0 :(得分:3)
从语言的角度来看,字符串"\u0130smail"
和"İsmail"
完全相同。如果你的意思是你得到一个字符串"\\u0130smail"
(请注意我已经转义了反斜杠),那么你必须找到unicode代码点的模式并将它们转换为普通的unicode字母或者只打印数字,无论你需要什么。在这种情况下,正则表达式可以帮助您。
答案 1 :(得分:0)
将现有字符串转换为字节并再次返回不会对您有所帮助。你需要查看你所拥有的字符串中的确切字符 - 然后找出 你得到它们的方式。
我建议您将字符串中每个字符的整数值打印为一个整数(理想情况下为十六进制),以准确找出您所拥有的...然后将其追溯到目前为止尽你所能,弄清楚出了什么问题。