我有 Java,说我有麻烦。 我有 Str(我随意选择的中文,我不讲中文)。 如果我听说,
String t = new String(s.getBytes());
if (s.equals(t))
System.out.println("String unchanged");
else
System.out.println("String changed");
然后,我获得的“努力”结果发生了变化。 是否有任何人知道正在发生什么?
我有 Java,说我有麻烦。 我有 Str(我随意选择的中文,我不讲中文)。 如果我听说,
String t = new String(s.getBytes());
if (s.equals(t))
System.out.println("String unchanged");
else
System.out.println("String changed");
然后,我获得的“努力”结果发生了变化。 是否有任何人知道正在发生什么?
实际上,我对这个职位表示担忧。 我正在使用 default木炭,而不是明确地把它当作UTF-8 Charset。 它现在运作。
因为:
<>Encodes this String into a series of bytes usingplatform sailcharset
如果你缺席,请参看<代码>。 页: 1
我认为,在这一进程中可以增加/补充额外的比额。
Try using getBytes(Sting charSetName )
public byte[] getBytes(String charsetName)
http://java.sun.com/javase/6/docs/api/java/nio/charset/Charset.html
get(Bytes)方法使用违约编码。 The docs:
当需要对编码过程进行更多的控制时,应当使用CharsetEncoder语。
String t = new String(s.getBytes (); may make string using ASCII as Back charset. 采用以下方法与UTF-8号 合构造
String(byte[] bytes, intack, int length, String charsetName)