Rumah > Java > javaTutorial > teks badan

Bagaimana Java Secara Dalaman Mewakili Rentetan: UTF-16 atau UTF-8 yang Diubahsuai?

DDD
Lepaskan: 2024-11-11 01:32:03
asal
916 orang telah melayarinya

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

Merungkai Perwakilan Rentetan Java: UTF-16 atau UTF-8 yang Diubahsuai?

Di alam Java, perwakilan dalaman rentetan mempunyai menjadi bahan perdebatan. Dua sumber yang kelihatan boleh dipercayai membentangkan maklumat yang bercanggah:

Satu sumber mencadangkan Java menggunakan UTF-16 untuk perwakilan teks dalaman, manakala yang lain mengemukakan versi UTF-8 yang diubah suai. Manakah antara dakwaan ini yang benar?

Jawapan: UTF-16 untuk Perwakilan Dalaman

Java mengguna pakai UTF-16 untuk perwakilan teks dalamannya, termasuk rentetan, rentetan pembina, dan struktur lain yang berkaitan. Sistem pengekodan ini menggunakan unit kod Unikod 16-bit untuk mewakili aksara dalam julat U 0000 hingga U FFFF atau unit kod UTF-16.

UTF-8 yang diubah suai untuk Pensiri

Walaupun Java mengutamakan UTF-16 secara dalaman, ia menggunakan varian bukan standard UTF-8 untuk siri rentetan. Pensirian melibatkan menukar objek Java kepada format yang boleh disimpan dan boleh dihantar, dan dalam konteks ini, rentetan bersiri diwakili menggunakan UTF-8 yang diubah suai.

Storan Dalam Memori: Rentetan Mampat

Pada peringkat JVM, Java mungkin menggunakan rentetan termampat (diaktifkan oleh -XX: UseCompressedStrings), di mana rentetan yang tidak memerlukan pengekodan UTF-16 boleh disimpan menggunakan pengekodan ISO-8859-1 8-bit. Pengoptimuman ini mengurangkan penggunaan memori untuk jenis rentetan tertentu.

Penggunaan Bait untuk Char

Pembolehubah char dalam Java secara konsisten menduduki 2 bait, tanpa mengira pertimbangan padding dalam objek .

Mata Kod dan Watak Perwakilan

Adalah penting untuk ambil perhatian bahawa titik kod, yang mewakili aksara melebihi had 65535, boleh dinyatakan menggunakan sama ada satu atau dua aksara (iaitu, 2 atau 4 bait).

Atas ialah kandungan terperinci Bagaimana Java Secara Dalaman Mewakili Rentetan: UTF-16 atau UTF-8 yang Diubahsuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan