在php中读取二进制文件并将其转换为字符串

时间:2012-06-24 07:06:19

标签: php file binary

我花了将近一天的时间,但没有成功。

我想要做的是,我有一个二进制文件“data.dat”

我想阅读文件内容并以文本格式输出,例如php中的“data.txt”。

我尝试了解压缩php的功能,但需要提到的类型作为第一个参数(可能是我错了,新的php)。

$data = fread($file, 4); // 4 is the byte size of a whole on a 32-bit PC.     
$content= unpack("C", $data);    //C for unsigned charecter , i for int and so on...

但是,如果我不知道在哪个地方,我正在阅读的文件中存储了什么类型的数据呢?

由于类型的原因,这个功能限制了我。

我想要类似于此的东西

$content= unpack("s", $data);   //where s can denote to string

感谢。

1 个答案:

答案 0 :(得分:3)

PHP没有"二进制"类型。二进制数据存储在字符串中。如果从文件中读取二进制数据,则它已经存储为字符串。您无需将其转换为字符串。

如果二进制数据已经以某种标准编码表示文本,则您不需要执行任何操作,因为您已经拥有有效的字符串。如果二进制数据代表某种编码,你需要知道你需要做什么,我们不知道。