バッチファイルを作っているときに必要になったので早見表をメモとして残します。
オブジェクト指向言語では利用することはほぼないですが、機械語に近い言語では利用することが多いです。
ASCIIコードとは
ASCII(American Standard Code for Information Interchange)とは、アルファベット及び数字用の文字コードです。
名称の中でも記載がある通り、アメリカ合衆国で情報通信用に米国規格協会 (ANSI) が制定しました。
文字を7ビットの値(0~127)で表し、128文字が収録されています。
ASCIIコードは7bitまでですが、英語圏以外でも利用できるように8bit目を利用した拡張規格がISO/IEC 2022で策定されました。
日本では全角・半角・ひらがな・カタカナ・漢字と多岐にわたるため、2byteの可変長文字であるShift_JISコード(マルチバイト文字)が策定されました。
そのため、Shift-JISで作成された文書など開く場合、文字コードがASCIIのままでは日本語は文字化けします。
ASCIIコードの構成
7bitの文字コードの内訳として10進数では下記になります。
0~32と127は制御文字になります。
制御文字は、改行コードのように画面に文字自体は表示されないけど文章を整えるのに必須の文字になります。
33~126までが記号やアラビア数字、約物、アルファベットなどになります。
ASCIIコード早見表
10進数と16進数に対応した文字コードの早見表になります。
・7bit(拡張なし)バージョン
![](http://tamayalab.com/wp-content/uploads/2023/09/画像1.png)
・8bitの日本語拡張バージョン(あまり使うことはないと思いますが)
![](https://tamayalab.com/wp-content/uploads/2023/09/image-1-1024x731.png)
最後に
英語圏以外のプログラム開発者が避けて通れないのが、文字コードになります。
JavaやC#、Web業界ではUTF-8にしておけばとりあえず問題は発生しませんが、組み込みシステムなどでの極力リソース消費を抑えたいシステムでは必須の知識になりますね。
ちなみにUTF-8は1~4byteまでの可変長のため、ASCIIコードとも互換性があり、マルチバイト文字である日本語も格納することが可能です。
覚える必要はないですが、一覧表がないと困るので覚書として残しておきます。