У меня есть двоичные данные с комбинацией строк uint32 и нулевых завершенных строк. Я знаю размер отдельного набора данных (каждый набор данных имеет тот же формат), но не фактический формат.Определить неизвестный формат данных двоичных данных в PHP
Я использую распаковывать читать данные со следующими функциями:
function read_uint32($fh){
$return_value = fread($fh, 4);
$return_value = unpack('L', $return_value);
return $return_value[1];
}
function read_string($fh){
do{
$char = fread($fh, 1);
$return_string .= $char;
}while(ord($char) != 0);
return substr($return_string, 0, -1);
}
, а затем в основном пытается обе функции и, видя, если данные имеет смысл в виде строки, и если бы не это, вероятно, ИНТ , есть ли более простой способ сделать это?
Спасибо.