English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Per convertire una stringa esadecimale in un array di byte, è necessario prima ottenere la lunghezza della stringa data e includerla nella creazione di un nuovo array di byte.
byte[] val = new byte[str.length() / 2];
Ora, eseguiamo un ciclo for fino alla lunghezza dell'array di byte.
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; }
Lasciate che vi mostri un esempio completo.
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); } }
Risultato di output
[B@2a139a55