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]
爲什麼會發生這種情況?