首頁  >  文章  >  Java  >  Java 如何在內部儲存字串:修改後的 UTF-8 或 UTF-16?

Java 如何在內部儲存字串:修改後的 UTF-8 或 UTF-16?

Barbara Streisand
Barbara Streisand原創
2024-11-11 20:25:02396瀏覽

How Does Java Store Strings Internally: Modified UTF-8 or UTF-16?

Java 的內部字串表示形式:修改後的 UTF-8 還是 UTF-16?

在探索 Java 中字串的內部表示形式時,發生衝突的資訊出現。一些消息來源聲稱 Java 使用 Modified UTF-8,而另一些消息來源則聲稱它使用 UTF-16。為了澄清這種差異,讓我們深入研究細節。

根據 Oracle 的 Java 文檔,Java 平台嚴重依賴 Unicode 字元集。因此,原始 char 資料型態表示無符號 16 位元整數。此整數可以表示特定範圍內的 Unicode 碼點或 UTF-16 的代碼單元。至關重要的是,字串、字元陣列等字元序列以及 CharSequence 介面的實作都是 Java 中的 UTF-16 序列。

但是,必須注意的是 JVM 實作可以利用壓縮字串。當啟用 -XX: UseCompressedStrings (某些 Java 6 更新中的預設設定)時,不需要 UTF-16 編碼的字串可以以 8 位元格式存儲,即 ISO-8859-1。

關於Java中的字串序列化,UTF-8是預設編碼。因此,當字串被序列化時,它們使用 UTF-8。

最後,Java 使用兩個位元組表示一個 char,允許最大 65,535 的程式碼點。超出此限制的代碼點佔用兩個字符,導致消耗四個位元組。

以上是Java 如何在內部儲存字串:修改後的 UTF-8 或 UTF-16?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn