2

我只有字符串\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;
}

也没有用。

4

2 回答 2

3

从语言的角度来看,字符串"\u0130smail""İsmail"绝对相同。如果你的意思是你得到一个字符串"\\u0130smail"(注意我已经转义了反斜杠),那么你必须找到 unicode 代码点的模式并将它们转换为普通的 unicode 字母,或者只打印数字,无论你需要什么。在这种情况下,正则表达式可以帮助您。

于 2012-03-08T15:25:32.500 回答
0

将现有字符串转换为字节然后再转换回来对您没有帮助。你需要查看你得到的字符串中的确切字符 - 并弄清楚你是如何得到它们的。

我建议您将字符串中每个字符的整数值打印整数(最好是十六进制),以准确了解您所拥有的内容......然后尽可能追溯,找出问题所在.

于 2012-03-08T15:18:38.880 回答