Convirtiendo una cadena específica a byte []

Estoy tratando de convertir una cadena específica en un byte [].

La cadena se ve así: 55 55 F5 FF FF

y aquí está el método que escribí para él, espero que alguien pueda decirme qué está mal o tiene una mejor solución.

public static byte[] stringToByte(String text) {
    //byte[] length ==> String (length+1)/3
    byte raw[] = new byte[(text.length() + 1) / 3];
    int j = 0;
    for (int i = 0; i < text.length(); i += 2) {
        String h = "";
        h += text.charAt(i);
        h += text.charAt(i + 1);
        i++;
        raw[j] = Byte.valueOf(h);
        j++;
    }
    return raw;
}

El problema es que funciona hasta que se trata de F5.

Necesito los mismos valores en el byte [] como si uso

byte raw[] = {(byte) 0x55, (byte) 0x55, (byte) 0x5F,(byte) 0xFF,(byte) 0xFF};
Respuesta 1

Esto funcionará:

public static byte[] stringToByte(String text) {
  final String[] split = text.split("\\s+");
  final byte[] result = new byte[split.length];
  int i = 0;
  for (String b : split) result[i++] = (byte)Integer.parseInt(b, 16);
  return result;
}

¿Por qué? bytees una cantidad firmada y no puede analizar nada fuera de su rango directamente byte. Pero si analiza un inty luego usa una conversión de reducción byte, obtendrá su resultado.

Respuesta: 2

Parece que solo estás recorriendo una cadena delimitada por espacios y analizando objetos Byte. En el caso, sugeriría usar algo como:

         String text = "";
         String[] strArr = text.split(" ");
         for (String str: strArr)
         {
             //convert string to byte here
         }
Respuesta: 3

No tengo que poder editarlo en Windows, pero sí tengo que poder ejecutar el programa creado con la versión mac de Eclipse en Windows. es posible?

Tengo un simple objeto Java String y quiero serializarlo / deserializarlo, usando XStream. La serialización funciona bien, pero como esta cadena escrita, digamos, en ruso, después de la deserialización descubro que ...

Tenemos una etiqueta no crítica cuyo valor es una cadena. Queremos verificar los cambios del valor de la etiqueta. Pero no queremos hacer una comparación de cadenas ya que esto involucra cliente-servidor y en su lugar queremos ...

Cuando instale un certificado SSL, también debe incluir los certificados intermedios. Manejo muchos certificados SSL y paso mucho tiempo buscando intermediarios a lo largo de la cadena ...