JavaA2Z

KAB-studio > プログラミング > JavaA2Z > ASCIIとは

ASCII

日本語 米情報変換標準規格
英語 ascii、American Standard Code for Information Interchange
ふりがな あすきー
フリガナ アスキー

解説

半角英数字のみの文字コード
半角の数字、アルファベット、記号、一部のエスケープシーケンス\n\t等の制御コード)を含む、文字コード
文字コードの一種ではあるが、UnicodeUTF-8シフトJIS等、多くの文字コードがこのASCIIをそのまま含んでいるため、各文字コードの「半角英数字の部分の文字コード」と言える。
また、ASCIIに含まれる文字そのものを指す場合もある。この場合、「ASCII文字」という場合もある。
 
整数値としては、0x00~0x7Fの範囲に全ての文字が含まれている。
前半部は制御コードが並ぶ。タブ文字\t0x09、改行文字\n0x0Aである。
中盤は数字である。0~9は0x30~0x39である。
その後、アルファベットが並ぶ。A~Zが0x41~0x5A、a~zが0x61~0x7Aである。
これらの間に記号が挟まれている。「!」は0x21、「:」は0x3A、「[」は0x5B、「{」は0x7Bである。
 
16進数0x00~0x7Fは、2進数で表現すると0000000~1111111であり、7ビットの中に収まっていることになる。それ以外は拡張箇所であり、日本語の場合には半角カタカナが入っていたり、英数字の場合にはウムラウトの付いた文字が含まれている。これらはフォントによって異なる。
ASCIIはこの拡張部分には関わっておらず、環境によってはこの範囲は特殊な処理をうための制御コードに使用されている。半角カタカナを使用すべきでない、とされるのはこれも理由のひとつである。
 
プログラムで使用する場合、たとえばStringクラスの第2引数に渡す時等には、IANAで指定されている"US-ASCII"という名称を使用する。"ASCII"でも使用できるが、JavaではMIMEで指定された名称を使用することが多いため、慣例的に"US-ASCII"が使用されている。
 
ちなみに企業名の「アスキー」もこれが元に付けられたものである。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.io.UnsupportedEncodingException;

public class Sample
{
    public static void main( String[] args )
    {
        // ASCIIのAからZを出力します。
        forchar chF1 = 0x0041; chF1 <= 0x005A; ++chF1 )
        {
            System.out.print( chF1 );
            System.out.print( ", " );
        }
        System.out.println();
        // 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, 

        // エスケープシーケンスの「制御コード」も、
        // ASCIIに当てはまります。
        System.out.print( (char)0x0009 );
        System.out.println( "←タブです。" );
        //     ←タブです。

        try
        {
            // ASCIIからUnicodeに変換してStringクラスに格納します。
            byte[] bytes = new byte[] { (byte)0x41, (byte)0x42, (byte)0x43 };
            // 文字コードの変換はStringクラスのコンストラクタで行います。
            // 第1引数には他文字コードの文字列が格納されたbyte型配列を渡します。
            // 第2引数には、そのbyte型配列に格納されている文字列の文字コードを渡します。
            // そうするとUnicodeに変換されて格納されます。
            String string = new String( bytes, "US-ASCII" );
            System.out.println( string );
            // ABC
        }
        catch( UnsupportedEncodingException e )
        {
            // StringクラスのコンストラクタがUnsupportedEncodingException例外を
            // 投げるので拾います。第2引数で渡された文字コード(上記の例では「US-ASCII」)
            // が、Javaではサポートされていない文字コードの場合にエラーとなります。
            e.printStackTrace();
        }

    }
}
// Sample.java
import java.io.UnsupportedEncodingException;

public class Sample
{
    public static void main( String[] args )
    {
        // ASCIIのAからZを出力します。
        for( char chF1 = 0x0041; chF1 <= 0x005A; ++chF1 )
        {
            System.out.print( chF1 );
            System.out.print( ", " );
        }
        System.out.println();
        // 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, 

        // エスケープシーケンスの「制御コード」も、
        // ASCIIに当てはまります。
        System.out.print( (char)0x0009 );
        System.out.println( "←タブです。" );
        //     ←タブです。

        try
        {
            // ASCIIからUnicodeに変換してStringクラスに格納します。
            byte[] bytes = new byte[] { (byte)0x41, (byte)0x42, (byte)0x43 };
            // 文字コードの変換はStringクラスのコンストラクタで行います。
            // 第1引数には他文字コードの文字列が格納されたbyte型配列を渡します。
            // 第2引数には、そのbyte型配列に格納されている文字列の文字コードを渡します。
            // そうするとUnicodeに変換されて格納されます。
            String string = new String( bytes, "US-ASCII" );
            System.out.println( string );
            // ABC
        }
        catch( UnsupportedEncodingException e )
        {
            // StringクラスのコンストラクタがUnsupportedEncodingException例外を
            // 投げるので拾います。第2引数で渡された文字コード(上記の例では「US-ASCII」)
            // が、Javaではサポートされていない文字コードの場合にエラーとなります。
            e.printStackTrace();
        }

    }
}

この単語を含むページ

「みだし」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/08/19
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。