|
> 漢字2バイトコードの意味を教えてください。
> できれば具体例をあげてくれませんか?お願いします。
漢字は、数が多いので、1バイトでは表現できません。
「JIS X0208-1997 7ビット及び 8ビットの 2バイト情報交換用符号化漢字集合」
という規格で、2バイトの文字コードが規定されています。
2バイトといっても、それに含まれるすべてのビットで、文字を表現するわけで
はなく、縦横 94 x 94 の表の中に文字を配置していて、2バイトのそれぞれの
バイトは、0x21〜0x7E の値をとることが基本になっています。
具体例を挙げると、
「飲」という漢字は、16区91点(表の中で、縦16 横91 の位置)にあり、
それぞれを、0x30、0x7B と符号化しています。
2バイトを並べて 16進数で書くと、0x307B となります。
ただ、このままだと、1バイトコードの 0x30 の '0' や、0x7B の '{' と
区別がつかなくなるので、この値をある規則で変換して、0xB0FB (EUC) と
したり、0x88F9 (シフトJIS) としたりして使っています。
次のプログラムで、あなたのシステムの漢字コードを確かめてみて、結果を
報告してください。
#include <stdio.h>
int main(void)
{
char a[] = "飲";
printf("%x%x\n", a[0] & 0xFF, a[1] & 0xFF);
return 0;
}
|