使用写出字符串“¿”时
System.out.println(new String("¿".getBytes("UTF-8")));
¿ 被写成而不只是 ¿。
为什么?我们该如何解决这个问题?最佳答案
您不必使用 UTF-16 来解决此问题:
new String("¿".getBytes("UTF-8"), "UTF-8");
工作得很好。只要给 getBytes()
方法的编码与传递给 String 构造函数的编码相同,就应该没问题!
关于java - 为什么调用 .getBytes() 时字符串 "¿"会被转换为 "¿",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/176084/