關於Java字符編碼幾個容易弄錯的問題

  • 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

相關文章
相關標籤/搜索