如何在java中操作unicode字符

时间:2015-10-27 22:49:18

标签: java database character-encoding

我想替换“\ u0023 \ u0024 ab” 有: “\\ u0023 \\ u0024 ab”在将数据存储到数据库之前保持其编码。

在\ u之后可以有很多不同的值,而不仅仅是0023,0024。

我尝试使用str.replace(“\”\\“);或(”\ u“,”\\ u“)但它在java中不起作用,因为它将\ u0023视为一个字符。

有任何建议如何实现这一目标?

我试过这个

public class test {
    public static void main(String args[]) {
        String s = "\u0023";       
        s = s.replace("\\", "\\\\");
        System.out.println(s);
    }
}

but it is giving following output as:
#

but I am expecting:
\\u0023

2 个答案:

答案 0 :(得分:1)

如第一个答案here所述,您可以使用以下内容检索字符的(数字)unicode值:

// works up to Unicode 3.0
String hexString = Integer.toHexString(s | 0x10000).substring(1);

使用此号码,只需将其打印出来:

System.out.println("\u" + hexString);

(注意:代码未经测试:如果不起作用,请给我反馈)

希望这有帮助!

答案 1 :(得分:0)

String s = "\\u0023";       
s = s.replace("\\", "\\\\");