您拥有所谓的双重编码。
您正确指出的三个字符序列“你好吗”以UTF-8编码为E4BDA0 E5A5BD E59097。
但是现在,开始以UTF-8编码THAT编码的每个字节。从E4开始。UTF-8 中的 代码点是什么?试试吧!是C3 A4!
你知道这个主意… :-)
这是一个Java应用程序,说明了这一点:
public class DoubleEncoding { public static void main(String[] args) throws Exception { byte[] encoding1 = "你好吗".getBytes("UTF-8"); String string1 = new String(encoding1, "ISO8859-1"); for (byte b : encoding1) { System.out.printf("%2x ", b); } System.out.println(); byte[] encoding2 = string1.getBytes("UTF-8"); for (byte b : encoding2) { System.out.printf("%2x ", b); } System.out.println(); }
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)