我必须用php写一个二进制文件,但我认为我没有使用正确的方法。
我使用这个功能:
$ptr = fopen("file.txt", 'wb');
fwrite($ptr, $Str);
fclose($ptr);
我写这个字符串(0和1的混乱表示):
$Str="00000001001110000000000100000100000000000000001000000010000000010000001100000101000000000000010000000001000000000000010100000";
我认为用OpenOffice打开文件我不会看到0和1的文本,但我确信我看到了一个混乱的字符序列。 为什么我在开放式办公室看到零和一个?如何用php编写原始数据?
答案 0 :(得分:1)
如果您在文件中写入文本,即使以二进制模式打开,您也会在文件中获得文本。您的0
不会存储为零位,而是存储为0
字符的ASCII表示。
在PHP中使用数字的二进制格式,例如:
$var = OxFF; // equals to 1111 1111 in binary.
答案 1 :(得分:1)
您可以使用chr()
功能编写任何字符。
或者,您可以执行"\x0A"
之类的操作(这是换行符)。