top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
文字列とバイト配列との相互変換サンプルを作成中…。
注意: これらのソースコードは 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);
}
}