アスキーコード表(ascii table)を作成してみよう2

 

プログラムの実行結果を何にアウトプットするか、というのは
仕様を考える上で1番大切なことになるでしょう。

毎度、管理人イガジーです。

一番多いのは「画面に表示する」ですが、その場合でも
・コンソール(端末)に出力する
・窓を開いてLabelやTextAreaで表示する
・窓を開いてグラフィックで表示する
といったバリエーションがあります。
ファイルに出力する場合でも
・テキストファイル(.txt)で出力する
・htmlファイルを出力する
・pdfファイルを出力する
・画像(jpegやpng)ファイルを出力する
・データベースファイルに出力する
など、色々考えられます。

今回のテーマであるアスキーコード表も、いくつかの形式で
アウトプットしてみることにします。
まずは、1番簡単な、コンソールに出力する例です。


public class asciiT1 {
	asciiT1(){
		int a=' ';
		for (int j=0;j<6;++j){
			for (int i=0;i<16;++i){
				if (a==0x7F) System.out.print("  ");
				else System.out.printf(" %c", a);
				++a;
			}
			System.out.println();
		}
	}
	public static void main(String[] args) {
		new asciiT1();
	}
}

※ 0x7Fは、特殊文字になるので空白に置き換えています。
これを実行すると
! " # $ % & ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z [ \ ] ^ _
` a b c d e f g h i j k l m n o
p q r s t u v w x y z { | } ~

がコンソールに表示されます。

これだと、’A’ が 0x41 であるということが分かりにくいので
ちょっと表示を追加してみます。


public class asciiT2 {
	asciiT2(){
		int a=' ';
		System.out.print("HEX");
		for (int i=0;i<16;++i) System.out.printf("+%X", i);
		for (int j=0;j<6;++j){
			System.out.printf("\n%02X:", a);
			for (int i=0;i<16;++i){
				if (a==0x7F) System.out.print("  ");
				else System.out.printf(" %c", a);
				++a;
			}
		}
		System.out.println();
	}
	public static void main(String[] args) {
		new asciiT2();
	}
}

実行すると
HEX+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F
20: ! " # $ % & ' ( ) * + , - . /
30: 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
40: @ A B C D E F G H I J K L M N O
50: P Q R S T U V W X Y Z [ \ ] ^ _
60: ` a b c d e f g h i j k l m n o
70: p q r s t u v w x y z { | } ~

が表示されます。

これを、GUI化して(TextAreaを使って)表示する例はまた後日。
ぜひ、ご自身で作ってみてください。

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)