USC-2和UTF-16之間的區別?數組
都是Unicode編碼方案的具體實現,UTF-16是USC-2的父集,USC-2只能支持2個字節的編碼,超過2個字節的編碼須要用UTF-16。函數
Java裏面一個char類型變量佔用多少內存?編碼
Java內置的字符編碼實現方式是UTF-16,對於在2個字節編碼範圍內(USC-2)的字符,用一個char表示;對於超過2個字節編碼範圍的字符,用兩個char表示。但不論怎樣,一個char佔用的內存大小都是2個字節。spa
String.getBytes(), String.getBytes(Charset charset)是用來作什麼?操作系統
String.getBytes(Charset charset)是將一個String對象包含的字符數組以某種編碼實現方式展現出來。code
String.getBytes()是將一個String對象包含的字符數組以系統默認的編碼實現方式展現出來。注意:這裏的默認編碼指的是操做系統的默認編碼,與Java內置的編碼不一樣,因此在調用這個函數後你可能會發現:一個char並不是對應兩個字節,這時也請不要驚訝!默認編碼的通常狀況:中文Windows是GBK,英文Windows、Linux和Mac是UTF-8。orm