日本語バイナリ

[戻る]
ウーロン茶 2001/10/17(水) 09:06:16
これは、C++というよりもCの質問なんですが、
char ss[]に日本語を入れて、
for(i)ss[i];
printf("%2x",ss[i]);
で16進2桁出力しているのですが、
日本語入力のところだけ、
ffffff98,ffffff23と言う風にffffffが
ついて表示されます。
これの意味がわかりません。

教えてもらえないでしょうか。
宜しくお願いします。

NGA 2001/10/17(水) 11:33:10
とりあえず char だと、-128 〜 +127 まで値が入ります。
ffffff が表示されるのは、変数が負の値の場合です。
unsigned char にすれば、0 〜 255 までの値が入るようになるので
ffffff は表示されなくなりますが。
ちなみに ffffffff(-1)・fffffffe(-2)ってな具合です。

古いスレッドには追加発言できません。