Java 的字串內部表示
Java 以 UTF-16 為其內部文字表示。這意味著 Java 字串中的每個字元都使用 16 位元 Unicode 代碼單元進行編碼。這種表示方式允許 Java 支援多種字符,包括非拉丁字母的字符。
用於序列化的修改後的UTF-8
而Java 使用UTF-16在內部,它使用UTF-8 的修改版本進行字串序列化。此修改後的 UTF-8 格式可確保與使用 UTF-8 編碼的其他系統(例如 Web 瀏覽器)的相容性。對於外部資料表示,Java 通常遵循嚴格的 CESU-8。
記憶體中的字元表示
Java 中表示為 char 基元類型的單一字元佔用兩個字元記憶體中的位元組。這與字元的 Unicode 代碼點無關。高於 65535 的代碼點需要兩個字符,從而在記憶體中表示為 4 位元組。
在某些情況下,Java 可能會採用稱為 UseCompressedStrings 的壓縮技術。此技術允許對不需要 UTF-16 的字串進行 8 位元 ISO-8859-1 編碼。但是,這是特定於實現的最佳化,而不是字串的預設內部表示。
以上是Java內部如何表示字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!