English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
十六進数文字列をバイト配列に変換するには、まず指定された文字列の長さを取得し、新しいバイト配列を作成する際にそれを含める必要があります。
byte[] val = new byte[str.length() / 2);
今、バイト配列の長さまでのforループを実行します。
for (int i = 0; i < val.length; i++) { int index = i * 2; int j = Integer.parseInt(str.substring(index, index + 2), 16); val[i] = (byte) j; }
以下の完全な例を見てみましょう。
public class Demo { public static void main(String args[]) { String str = "p"; byte[] val = new byte[str.length() / 2); for (int i = 0; i < val.length; i++) { int index = i * 2; int j = Integer.parseInt(str.substring(index, index + 2), 16); val[i] = (byte) j; } System.out.println(val); } }
出力結果
[B@2a139a55