Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP字符串转换为二进制,用于Fwrite_Php_File_Encoding - Fatal编程技术网

将PHP字符串转换为二进制,用于Fwrite

将PHP字符串转换为二进制,用于Fwrite,php,file,encoding,Php,File,Encoding,我不知道如何让这个代码工作,但我有一个示例字符串\u0000\u0000\u0001\u0000\u0007\u0000�,当我尝试以二进制模式编写时,前6个字符的编码正确,但最后一个字符的编码不正确 这应该是前(7)个字节的输出:00 01 00 07 00 98 我得到:0001000700ef 我几乎没有编码方面的知识,这里有没有人理解我的问题,因为我不知道如何表达它,因为我只能访问原始数据,我不确定如何对其进行编码以获得实际输出。你说的“以二进制模式写入”是什么意思?fwrite()函数

我不知道如何让这个代码工作,但我有一个示例字符串
\u0000\u0000\u0001\u0000\u0007\u0000�,当我尝试以二进制模式编写时,前6个字符的编码正确,但最后一个字符的编码不正确

这应该是前(7)个字节的输出:
00 01 00 07 00 98
我得到:
0001000700ef


我几乎没有编码方面的知识,这里有没有人理解我的问题,因为我不知道如何表达它,因为我只能访问原始数据,我不确定如何对其进行编码以获得实际输出。

你说的“以二进制模式写入”是什么意思?
fwrite()
函数不支持任何模式。实际上这意味着什么?字符串是字符串是字符串。你把它写进文件里。在那里看不到模式…抱歉,我的意思是使用fopen,我正在打开一个文件,我想用它的二进制等价物来写这个字符串,因此在十六进制编辑器中查看时,例如换行符将是0A,但仍然无法跟随。“字符串的二进制等价物”是什么意思?字符串是一系列字节。当被写下来的时候,这并没有神奇的改变。事实上,这样一系列字节可以被不同的解释。但这不会改变字节。对不起,我问这个问题时搞砸了。我现在修复了这个问题,它是在数据源将其编码为UTF-8值,该值与字节流不一致。然后一个很好的utf8_解码修复了它,你说的“以二进制模式写入”是什么意思?
fwrite()
函数不支持任何模式。实际上这意味着什么?字符串是字符串是字符串。你把它写进文件里。在那里看不到模式…抱歉,我的意思是使用fopen,我正在打开一个文件,我想用它的二进制等价物来写这个字符串,因此在十六进制编辑器中查看时,例如换行符将是0A,但仍然无法跟随。“字符串的二进制等价物”是什么意思?字符串是一系列字节。当被写下来的时候,这并没有神奇的改变。事实上,这样一系列字节可以被不同的解释。但这不会改变字节。对不起,我问这个问题时搞砸了。我现在修复了这个问题,它是在数据源将其编码为UTF-8值,该值与字节流不一致。然后一个很好的utf8_解码修复了它,