String a HEX

Hola a todos, me preguntaba si alguien me puede echar una mano con mi código. El problema que tengo es que necesito un array de bytes como este:

byte dato={0x28, 0xFF, 0xCA, 0x4A, 0x5, 0x16, 0x3, 0xBD};

Ese array tengo que formarlo a partir de un String que ya tengo:

String texto="0x28 0xFF 0xCA 0x4A 0x5 0x16 0x3 0xBD";

Pero no se como hacer para pasar de uno a otro.

Tendrías que ir por partes, por ejemplo se me ocurre:

void setup(){
   Serial.begin(115200);
   String cadena = "0x28 0xFF 0xCA 0x4A 0x5 0x16 0x3 0xBD";
   byte n1=0, n2=0;
   for (byte i=0; i<8; i++){
      n1 = cadena.indexOf(" ", n2);
      Serial.println(cadena.substring(n2,n1));
      n2 = n1 + 1;
   }
}
void loop(){
   /Nada
}

Con esto ya tienes separados cada byte pero aun tienes el problema de que es texto y en Hexadecimal.

No podrás aplicar byte() ni tampoco el método String.toInt(), porque ambos esperan números decimales.