Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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 在不删除尾随空字节或空格的情况下解压缩数据_Php_Pack_Unpack - Fatal编程技术网

Php 在不删除尾随空字节或空格的情况下解压缩数据

Php 在不删除尾随空字节或空格的情况下解压缩数据,php,pack,unpack,Php,Pack,Unpack,如果你做了提取(解包('a*demo','a\0\0');echo strlen($demo)你不会得到4回-你会得到1回。这是因为per的a是一个“NUL填充字符串”,因此后面的NUL字节将被删除 我的问题是。。。有没有办法使它们不被移除 我可以做A*demo而不是A*demo,这样空字节就不会被删除,但是尾随空格会被删除。如果你想要整个字符串,为什么要解包一个字符串?天哪,如果我所做的只是输出4为什么我不直接做echo4?杜尔。说真的,这只是一段人为的代码片段,演示了我遇到的问题。如果感觉太

如果你做了
提取(解包('a*demo','a\0\0');echo strlen($demo)你不会得到4回-你会得到1回。这是因为per的
a
是一个“NUL填充字符串”,因此后面的NUL字节将被删除

我的问题是。。。有没有办法使它们不被移除


我可以做
A*demo
而不是
A*demo
,这样空字节就不会被删除,但是尾随空格会被删除。

如果你想要整个字符串,为什么要解包一个字符串?天哪,如果我所做的只是输出
4
为什么我不直接做
echo4?杜尔。说真的,这只是一段人为的代码片段,演示了我遇到的问题。如果感觉太做作了,那就假装我发布了
摘录(解包('avar/a*demo','aa\0\0');echo strlen($demo)取而代之。现在我再也不能得到整根绳子了。更好?你能确定感兴趣的子串的开始和结束位置吗?是的。我可以使用多个子字符串将特定文件映射到各种变量,但与其使用100个子字符串,不如使用1x
unpack
。当然,我可以做
stru\u pad
来添加
unpack
正在删除的空字节,但如果我不必这样做那就太好了。。我也在研究
sscanf
作为替代方案,但也遇到了一些问题: