voglio convertire una stringa singolo carattere a 5 byte esadecimali e un byte rappresentano un numero esadecimale:Java String, singolo carattere in esadecimale byte
come
String s = "ABOL1";
a
byte[] bytes = {41, 42, 4F, 4C, 01}
Ho provato il seguente codice, ma Byte.decode
ha ottenuto un errore quando la stringa è troppo grande, come "4F" o "4C". C'è un altro modo per convertirlo?
String s = "ABOL1";
char[] array = s.toCharArray();
for (int i = 0; i < array.length; i++) {
String hex = String.format("%02X", (int) array[i]);
bytes[i] = Byte.decode(hex);
}
Un 'char' non è un' byte'! – fge
Non esiste un "byte esadecimale". I dati sono già nel formato richiesto. Basta copiare i byte. – EJP