0

Conversion of Char to Binary in C の例を使用して、C (gcc v-5.1) の組み込みライブラリ (itoa) を使用して文字をバイナリに変換しようとしていますが、文字入力に対して 7 ビットの出力が得られます。 itoa関数.しかし、Cの文字は本質的に8ビットの整数であるため、8ビットの出力を取得する必要があります.なぜそうなのか説明できますか??

バイナリ変換を実行するコード:

enter for (temp=pt;*temp;temp++)
{
    itoa(*temp,opt,2);        //convert to binary
    printf("%s \n",opt);            
    strcat(s1,opt);           //add to encrypted text
}

PS:- これは、stackoverflow.com での最初の質問です。事前に間違いがあれば申し訳ありません。

4

3 に答える 3

0

ASCIIテーブルを参照してください。Unicode はを通じて文字を共有します。0x200x7f0x000x7f

16 進数の 20 から 7f は、2 進数の 00100000 から 01111111 です。

すべてのバイナリ値が印刷可能な文字であるとは限らず、一部のエンコーディングでは有効な値ではありません。

ASCII、16 進数、8 進数、およびバイナリは、バイナリ値を表す方法にすぎません。印刷可能な文字は別の方法ですが、すべてのバイナリ値を表示できるわけではありません。これは、文字テキストとして表示または処理する必要がある主なデータであり、通常は 16 進 ASCII または Base64 に変換されます。

于 2016-06-25T21:38:34.640 に答える