0
奇怪的编码,我发现了一些棘手的地方,不明白为什么这是否正是发生。输出具有相同的字符串长度
为什么字符串包含一个字符可以返回不同的字节数组?
代码:
public class Application {
public static void main(String[] args) throws Exception {
char ch;
ch = 0x0001;
System.out.println(Arrays.toString(("" + ch).getBytes("UTF-8")));
ch = 0x0111;
System.out.println(Arrays.toString(("" + ch).getBytes("UTF-8")));
ch = 0x1111;
System.out.println(Arrays.toString(("" + ch).getBytes("UTF-8")));
}
}
输出将是下一个:
[1]
[-60,-111]
[-31,-124,-111]
为什么会发生这种情况?