- ベストアンサー
アスキーコードの文字をデコードする方法
こんにちは。 Windows環境です。 ある変数に0-9,a-zのアスキーコードの数字が格納されています。 それを元の数字や文字列にデコードしたいと思うのですが どのようにすればよろしいのでしょうか? どなたかご存知の方、よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
参考URLの質問8.6をご覧ください。 majikaruさんはこのあたりの勘違いをされているのではないでしょうか? 'a'に対応するアスキーコードが 61 の場合、 'a' という文字定数は、整数の 61 そのものです。 printf("%d %c\n",61,61); printf("%d %c\n",'a','a'); を実行してみればそれが実感できるのではないでしょうか。
その他の回答 (4)
- hpsk
- ベストアンサー率40% (48/119)
#3のhpskです。ちょっと訂正です。 'a'に対応するASCIIコードは 61 は 61 でも、16進の61なので、 > printf("%d %c\n",61,61); は、 printf("%d %c\n",0x61,0x61); が正しいです。
- haiji2004
- ベストアンサー率25% (48/187)
No2です。 単純に10進数にするのだと思ってました。 よく考えたらg~zなんて無理ですねw 回答としてはNo3さんに同意見です。
お礼
ご返答ありがとうございます。 参考にしたいと思います。
- haiji2004
- ベストアンサー率25% (48/187)
ある変数が文字列'0'~'9'の値であれば ある変数から文字列'0'を引けば出ます。 小文字の'a'から'z'であれば ある変数から文字列'a'を引いて10足せば出ます。 大文字も一緒ですね。 こんな回答でいいでしょうか?
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
0-9 はいいとして、 a-zのアスキーコードの'数字'とはなんですか?
お礼
説明不足で失礼しました。 例えば「1」の数字であったら char test; のtestには「30」というアスキーコード(の数字)が 格納されているという意味です。 「a」であれば61ですね。
お礼
ご返答ありがとうございます。 指定URLのサイト、とても参考になりました。 貴重な情報ありがとうございました。