top / index / prev / next / target / source

2007-06-02 diary: Java: 文字列とバイト配列との相互変換サンプル

いがぴょんの日記 日記形式でつづる いがぴょんコラム ウェブページです。

old-v2

Java: 文字列とバイト配列との相互変換サンプル

文字列とバイト配列との相互変換サンプルを作成中…。

文字列とバイト配列との相互変換サンプル

注意: これらのソースコードは HexStringUtil.java に依存します。HexStringUtil.java ソースコードは 2007/06/01 日記: Java: ISO/IEC 646 範囲をファイルに出力するサンプル から取得します。

文字列からバイト配列に変換。 StringToBytesSample.java

import java.io.UnsupportedEncodingException;

/**
 * 文字列をバイト配列に変換するサンプル。
 */
public class StringToBytesSample {
    public static void main(final String[] args) {
        try {
            new StringToBytesSample().process("愛植岡");
        } catch (UnsupportedEncodingException ex) {
            System.out.println("サポートされないエンコーディング[" + ex.getMessage()
                    + "]が指定されました。");
            ex.printStackTrace();
        }
    }

    /**
     * シフトJIS化したバイト配列を表示します。
     * 
     * @param argTargetString
     *            処理したい文字列。
     * @throws UnsupportedEncodingException
     *             エンコーディングがサポートされない場合。
     */
    public void process(final String argTargetString)
            throws UnsupportedEncodingException {
        System.out.println("[" + argTargetString + "]をシフトJISのバイト配列に変換");

        final byte[] result = argTargetString.getBytes("Shift_JIS");
        System.out.println(HexStringUtil.bytesToHexString(result));
    }
}

その逆 BytesToStringSample.java

import java.io.UnsupportedEncodingException;

/**
 * バイト配列を文字列に変換するサンプル。
 */
public class BytesToStringSample {
    public static void main(final String[] args) {
        try {
            final byte[] aiueoka = new byte[] { (byte) 0x88, (byte) 0xa4,
                    (byte) 0x90, (byte) 0x41, (byte) 0x89, (byte) 0xaa };
            new BytesToStringSample().process(aiueoka);
        } catch (UnsupportedEncodingException ex) {
            System.out.println("サポートされないエンコーディング[" + ex.getMessage()
                    + "]が指定されました。");
            ex.printStackTrace();
        }
    }

    /**
     * シフトJIS化としてバイト配列を文字列表示します。
     * 
     * @param argTargetBytes
     * @throws UnsupportedEncodingException
     */
    public void process(final byte[] argTargetBytes)
            throws UnsupportedEncodingException {
        System.out.println("[" + HexStringUtil.bytesToHexString(argTargetBytes)
                + "]をシフトJISのバイト配列として文字列に変換");

        final String result = new String(argTargetBytes, "Shift_JIS");
        System.out.println(result);
    }
}

この日記について