Innanzi tutto grazie per la risposta 
Lo so che il dato è sempre una stringa...ma volevo spiegare che il mio problema è che la stringa non viene riconosciuta come formata da una successione di numeri esadecimali.
Comunque quella è la prima cosa che ho provato a fare...il problema è che alla fine ottengo "\x00\x1c\x27" ma non mi riconosce i singoli valori (0x00, 0x1c....) come rappresentazione esadecimale ma la stringa è vista come la successione dei caratteri "\" "x" "0" "0" etc etc...
Per fare una prova pratica ho provato a fare una comparazione
Codice PHP:
$i = array (0, 29, 96);
$f = 0;
$string = "";
$str = "";
$str1 = "\x00\x1c\x27";
while ($f != 3 ){
$str = dechex($i[$f]);
$string. = '\x'.$str;
$f++;
}
echo $string;
if($str1 == $string)
echo "OK!";
else
echo "NO!";
Nel caso di $str1, la stringa viene riconosciuta come costituita dei valori esadecimali (primo carattere: 0x00; secondo carattere: 0x1c; terzo carattere: 0x27), mentre nel caso di $string, nonostante formalmente sia identica a $str1, questa viene trattata come stringa di caratteri (e quindi il \x non viene interpretato come carattere identificativo della rappresentazione esadecimale)
Ovviamente, quindi, l'output è "NO!"
Spero di essermi spiegato 
P.S.:hem....nel codice il \ non viene visualizzato...ma fidatevi che c'è