转义字符串与utf_8字符串的区别

时间:2018-02-15 07:00:41

标签: java string utf-8

我有一个字符串:

[MK II Hatchback][Citroën][1.6 VTI 120][2009]

现在我想将此字符串转义为UTF_8。这是正确的方法吗?这个特殊字符是什么ë

String myString = "[MK II Hatchback][Citroën][1.6 VTI 120][2009]";
String value = new String(myString.getBytes(UTF_8), UTF_8);
// what is the difference between these two sysout?
System.out.println(value);
System.out.println(StringEscapeUtils.escapeJava(myString));

以下是输出:

[MK II Hatchback][Citroën][1.6 VTI 120][2009]
[MK II Hatchback][Citro\u00EBn][1.6 VTI 120][2009]

那么在我的第二个输出中,\u00EB中的ëresponse.xpath('//div[@class="tab-title" and contains(., "Homepage")]/..//a/@href') 中的位置是什么?

1 个答案:

答案 0 :(得分:0)

\u将以下字节转义为unicode字符。

00EB根据codepage表变成字符串字符的字节(在你的情况下,utf8,另一个表可能会将它重新定义为完全不同的字符,尽管ë似乎是一个非常稳定的字符代码页表。)

如果键入\n,则会在字符串中插入新行。如果您键入\t,则会插入一个标签。如果键入\u后跟十六进制数字,则会得到相应的unicode字符。

你可以在这里查看很多组合

http://www.utf8-chartable.de/

  

U + 00EB | ë| c3 ab |带有DIAERESIS的拉丁文小写字母