Kumpulan Karakter Byte Ganda

Kumpulan karakter byte ganda (DBCS), juga dikenal sebagai "set karakter 8-bit yang diperluas", adalah kumpulan karakter byte tunggal (SBCS) yang diperluas, yang diimplementasikan sebagai halaman kode. DBCSs awalnya dikembangkan untuk memperluas desain SBCS untuk menangani bahasa seperti Jepang dan Cina. Beberapa karakter dalam DBCS, termasuk digit dan huruf yang digunakan untuk menulis bahasa Inggris, memiliki nilai kode byte tunggal. Karakter lain, seperti ideograf Cina atau kanji Jepang, memiliki nilai kode byte ganda. DBCS dapat sesuai dengan halaman kode Windows atau halaman kode OEM. Halaman kode DBCS juga dapat menyertakan halaman kode non-asli, misalnya, halaman kode EBCDIC. Untuk definisi halaman kode ini, lihat Halaman Kode.

Catatan

Aplikasi Windows baru harus menggunakan Unicode untuk menghindari inkonsistensi halaman kode yang bervariasi dan untuk kemudahan pelokalan. Namun, beberapa protokol warisan mungkin memerlukan penggunaan halaman kode DBCS. Setiap halaman kode DBCS mendukung karakter yang berbeda, tetapi tidak ada halaman yang mendukung luasnya karakter yang disediakan oleh Unicode. Setiap halaman kode DBCS mendukung subset yang berbeda, dikodekan secara berbeda. Data yang dikonversi dari satu halaman kode DBCS ke halaman lain mengalami kerusakan karena nilai data yang sama pada halaman kode yang berbeda dapat mengodekan karakter yang berbeda. Data yang dikonversi dari Unicode ke DBCS mengalami kehilangan data, karena halaman kode tertentu mungkin tidak dapat mewakili setiap karakter yang digunakan dalam data Unicode tertentu.

 

Untuk menginterpretasikan string DBCS, aplikasi harus dimulai di awal string dan memindai ke depan. Ini melacak ketika menemukan byte prospek dalam string, dan memperlakukan byte berikutnya sebagai bagian berikutnya dari karakter yang sama. Jika aplikasi hanya memindai string satu byte pada satu waktu dan menemukan byte yang tampaknya merupakan nilai kode yang mewakili garis miring terbalik ("\"), byte itu mungkin hanya byte jejak dari karakter dua byte. Aplikasi tidak dapat hanya mencadangkan satu byte untuk melihat apakah byte sebelumnya adalah byte prospek, karena nilai byte tersebut mungkin memenuhi syarat untuk digunakan sebagai byte prospek dan byte jejak. Dengan demikian aplikasi pada dasarnya memiliki masalah yang sama dengannya seperti dengan kemungkinan garis miring terbalik. Dengan kata lain, pencarian substring jauh lebih rumit dengan DBCS daripada dengan SBCSs atau Unicode. Dengan demikian, aplikasi yang mendukung DBCS harus menggunakan fungsi khusus, seperti _mbsstr, bukan fungsi StrStr .

Aplikasi Anda menggunakan halaman kode DBCS Windows dengan versi "A" fungsi Windows. Lihat Konvensi untuk Prototipe Fungsi dan Halaman Kode. Untuk membantu mengidentifikasi halaman kode DBCS, aplikasi dapat menggunakan fungsi GetCPInfo atau GetCPInfoEx . Aplikasi dapat menggunakan fungsi IsDBCSLeadByte untuk menentukan apakah nilai tertentu dapat digunakan sebagai byte prospek dari karakter 2-byte. Selain itu, aplikasi dapat menggunakan fungsi MultiByteToWideChar dan WideCharToMultiByte untuk memetakan antara string Unicode dan DBCS.

Kumpulan Karakter

Kumpulan Karakter Byte Tunggal