JavaA2Z

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

getBytes

日本語 バイト配列取得
英語 get bytes
ふりがな げっとばいつ
フリガナ ゲットバイツ

解説

Stringクラスメソッド
Stringクラス内の文字列を、byte配列として取り出す。
Stringクラス内ではUnicodeとして格納されており、Unicodeの1文字は2バイトのため、この2バイトを1バイトずつにわけて配列に格納する。つまり戻り値として返される配列要素数は、文字数の倍となる。
 
getBytes()メソッド引数なしで呼び出すと、OSのデフォルト文字コードに変換して取り出す。
また、第1引数IANAでの登録名を指定することで、指定した登録名が該当する文字コードで取り出す事ができる。全く変換せずに取り出す場合には"ISO-8859-1"を渡す。
 
文字コードの変換や、文字化け時のデバッグに大活躍するが、あまり大活躍して欲しくないメソッドでもある。

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

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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        try
        {
            // まず、Stringクラスに「あいう」を入れます。
            String string = "あいう";
            System.out.println( string );
            // あいう

            // getBytes()メソッドでバイト配列を取得します。
            // Unicode(正式名称「UCS-2」、IANAでの登録名"ISO-10646-UCS-2")
            // で取り出します。

            byte[] bytes = string.getBytes( "ISO-10646-UCS-2" );
            forint iF1 = 0; iF1 < bytes.length; ++iF1 )
            {
                System.out.println( bytes[iF1] );
            }
            // 48
            // 66
            // 48
            // 68
            // 48
            // 70

            // 元に戻す時は、Stringクラスのコンストラクタに、
            // 第1引数にこの配列、第2引数に文字コードを指定します。

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        try
        {
            // まず、Stringクラスに「あいう」を入れます。
            String string = "あいう";
            System.out.println( string );
            // あいう

            // getBytes()メソッドでバイト配列を取得します。
            // Unicode(正式名称「UCS-2」、IANAでの登録名"ISO-10646-UCS-2")
            // で取り出します。

            byte[] bytes = string.getBytes( "ISO-10646-UCS-2" );
            for( int iF1 = 0; iF1 < bytes.length; ++iF1 )
            {
                System.out.println( bytes[iF1] );
            }
            // 48
            // 66
            // 48
            // 68
            // 48
            // 70

            // 元に戻す時は、Stringクラスのコンストラクタに、
            // 第1引数にこの配列、第2引数に文字コードを指定します。

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

この単語を含むページ

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

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