0

int i ([0,255]) のリストがあり、これらの int を char に変換したいと考えています。

int i;
char c = (char)i;

c を印刷すると (i=0 の場合)、対応する ASCII シンボルが得られません。マッピングを正しく行うには?

4

3 に答える 3

4

ASCII0の記号はありません。32未満のASCII値はすべて制御文字です。

于 2012-04-23T16:12:51.317 に答える
1

ASCII 値と int 値を混在させています... ASCII テーブルを見てください。「0」を出力するには、値 48 (10 進数) を出力する必要があります。0 から 9 までの値を出力するには、int 値に 48 を加算するだけで、正しい ASCII コードが得られます。1 桁よりも長い値を出力するには、1 つの int から複数の ASCII コードへの何らかの変換が必要です。グーグル検索はそのような機能を見つけるはずです。

于 2012-04-23T16:22:59.890 に答える
0

値0に意味のあるASCII記号があるとは思いません。これはNULL文字であり、何も出力しないはずです。i = 97たとえば、('a')のときに値を出力してみませんか?

ASCIIテーブルを調べると、すべてのASCII文字に意味のある出力値があるわけではないことがわかります。

于 2012-04-23T16:12:37.427 に答える