Bagikan melalui


Halaman Lokal dan Kode

ID lokal mencerminkan konvensi dan bahasa lokal untuk wilayah geografis tertentu. Bahasa tertentu mungkin digunakan di lebih dari satu negara/wilayah; misalnya, Bahasa Portugis diucapkan di Brasil serta di Portugal. Sebaliknya, negara/wilayah mungkin memiliki lebih dari satu bahasa resmi. Misalnya, Kanada memiliki dua bahasa: Inggris dan Prancis. Dengan demikian, Kanada memiliki dua lokal yang berbeda: Kanada-Inggris dan Kanada-Prancis. Beberapa kategori yang bergantung pada lokal mencakup pemformatan tanggal dan format tampilan untuk nilai moneter.

Bahasa menentukan konvensi pemformatan teks dan data, sementara negara/wilayah menentukan konvensi lokal. Setiap bahasa memiliki pemetaan unik, yang diwakili oleh halaman kode, yang mencakup karakter selain yang ada dalam alfabet (seperti tanda baca dan angka). Halaman kode adalah set karakter dan terkait dengan bahasa. Dengan demikian, lokal adalah kombinasi unik dari bahasa, negara/wilayah, dan halaman kode. Pengaturan halaman lokal dan kode dapat diubah pada waktu proses dengan memanggil fungsi setlocale .

Bahasa yang berbeda mungkin menggunakan halaman kode yang berbeda. Misalnya, halaman kode ANSI 1252 digunakan untuk bahasa Inggris dan sebagian besar bahasa Eropa, dan halaman kode ANSI 932 digunakan untuk Kanji Jepang. Hampir semua halaman kode berbagi set karakter ASCII untuk 128 karakter terendah (0x00 ke 0x7F).

Setiap halaman kode byte tunggal dapat diwakili dalam tabel (dengan 256 entri) sebagai pemetaan nilai byte ke karakter (termasuk angka dan tanda baca), atau glyph. Halaman kode multibyte apa pun juga dapat direpresentasikan sebagai tabel yang sangat besar (dengan entri 64K) dari nilai byte ganda ke karakter. Namun, dalam praktiknya, biasanya direpresentasikan sebagai tabel untuk 256 karakter pertama (byte tunggal) dan sebagai rentang untuk nilai byte ganda.

Untuk informasi selengkapnya tentang halaman kode, lihat Halaman Kode.

Pustaka run-time C memiliki dua jenis halaman kode internal: lokal dan multibyte. Anda dapat mengubah halaman kode saat ini selama eksekusi program (lihat dokumentasi untuk fungsi setlocale dan _setmbcp ). Selain itu, pustaka run-time mungkin mendapatkan dan menggunakan nilai halaman kode sistem operasi, yang konstan selama durasi eksekusi program.

Ketika halaman kode lokal berubah, perilaku kumpulan fungsi yang bergantung pada lokal berubah menjadi yang ditentukan oleh halaman kode yang dipilih. Secara default, semua fungsi yang bergantung pada lokal memulai eksekusi dengan halaman kode lokal yang unik untuk lokal "C". Anda dapat mengubah halaman kode lokal internal (serta properti khusus lokal lainnya) dengan memanggil setlocale fungsi . Panggilan ke setlocale(LC_ALL, "") mengatur lokal ke yang ditunjukkan oleh lokal pengguna sistem operasi.

Demikian pula, ketika halaman kode multibyte berubah, perilaku fungsi multibyte berubah menjadi yang ditentukan oleh halaman kode yang dipilih. Secara default, semua fungsi multibyte memulai eksekusi dengan halaman kode multibyte yang sesuai dengan halaman kode default sistem operasi. Anda dapat mengubah halaman kode multibyte internal dengan memanggil _setmbcp fungsi .

Fungsi run-time setlocale C menetapkan, mengubah, atau mengkueri beberapa atau semua informasi lokal program saat ini. Rutinitas _wsetlocale adalah versi karakter yang luas dari setlocale; argumen dan nilai pengembalian adalah _wsetlocale string karakter lebar.

Baca juga

Unicode dan MBCS
Manfaat Portabilitas Set Karakter