Perwakilan Rentetan Dalaman Java: UTF-8 atau UTF-16 yang diubah suai?
Apabila meneroka perwakilan dalaman rentetan dalam Java, maklumat bercanggah timbul. Sesetengah sumber mendakwa Java menggunakan UTF-8 yang Diubah Suai, manakala yang lain menegaskan ia menggunakan UTF-16. Untuk menjelaskan percanggahan ini, mari kita teliti butirannya.
Menurut dokumentasi Java Oracle, platform Java banyak bergantung pada set aksara Unicode. Akibatnya, jenis data char primitif menandakan integer 16-bit yang tidak ditandatangani. Integer ini boleh mewakili titik kod Unicode dalam julat tertentu atau unit kod UTF-16. Yang penting, jujukan aksara seperti rentetan, tatasusunan aksara dan pelaksanaan antara muka CharSequence ialah semua urutan UTF-16 dalam Java.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pelaksanaan JVM boleh menggunakan rentetan termampat. Apabila -XX: UseCompressedStrings (tetapan lalai dalam kemas kini Java 6 tertentu) didayakan, rentetan yang tidak memerlukan pengekodan UTF-16 boleh disimpan dalam format 8-bit, iaitu, ISO-8859-1.
Mengenai siri rentetan dalam Java, UTF-8 ialah pengekodan lalai. Oleh itu, apabila rentetan disiri, mereka menggunakan UTF-8.
Akhir sekali, Java mewakili aksara menggunakan dua bait, membenarkan mata kod sehingga 65,535. Titik kod melebihi had ini menduduki dua aksara, mengakibatkan penggunaan empat bait.
Atas ialah kandungan terperinci Bagaimanakah Java Menyimpan Rentetan Secara Dalaman: UTF-8 atau UTF-16 yang diubah suai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!