In deinem Sonderfall "0x" + 2 Zeichen mit führender Null, würde diese Funtion reichen
// x muss im Format "0xFF" sein
// F ist ein Zeichen 0 .. 9 oder A .. F (Grossbuchstaben)
byte getAddr(String x)
{
byte result;
char c = x.charAt(2);
if (if c >= 'A' ) result = c - 'A' + 10; else result = c - '0';
result = result << 4; // high digit ( * 16 );
c = x.charAt(3);
if (if c >= 'A' ) result += c - 'A' + 10; else result += c - '0';
return result;
}