JavaのByteBufferでバイト配列を扱う方法

JavaのByteBufferでバイト配列を扱う方法

java.nio.ByteBufferクラスは使ったことがなかったのですが、電文で使う機会があったので纏めておきます。

Mapのインスタンスを文字列に変換してからバイト配列にします。

ByteBuffer.allocate()メソッドで容量確保してインスタンス生成

ByteBuffer.allocate()メソッドを使用して容量指定してインスタンス生成します。

以下では、64バイトのバッファを持つbuf変数を作成しています。

変数に書き込むにはput()メソッドを使用します。引数にはbyte[]を指定します。

org.apache.commons.codec.binary.Hex.encodeHexString()メソッドの引数にバイト配列を設定してString型の16進数文字列を返します。

出力すると以下のようになります。

後ろにゼロ埋めしてくれるようです。固定長で扱うのに便利そうです。

Hex.encodeHexStringメソッド

org.apache.commons.codec.binary.Hex.encodeHexString()メソッドはバイト配列を16進数文字列に変換してくれます。

Hex.decodeHexメソッド

16進数表記の文字列をバイト配列に変換する場合は、org.apache.commons.codec.binary.Hex.decodeHexString()メソッドを使用します。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA