欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php,怎么 string 转 byte array?

程序员文章站 2022-04-22 16:39:34
...
https://segmentfault.com/q/1010000004223227?_ea=534609

在这里找到个答案,但是不明白为什么是unpack而不是pack

回复内容:

https://segmentfault.com/q/1010000004223227?_ea=534609

在这里找到个答案,但是不明白为什么是unpack而不是pack

再好好看看吧,这个应该很好懂吧

PHP 中的 string
的实现方式是一个由字节组成的数组再加上一个整数指明缓冲区长度。并无如何将字节转换成字符的信息,由程序员来决定。字符串由什么值来组成并无限制;特别的,其值为
0(“NUL bytes”)的字节可以处于字符串任何位置(不过有几个函数,在本手册中被称为非“二进制安全”的,也许会把 NUL
字节之后的数据全都忽略)。

字符串类型的此特性解释了为什么 PHP 中没有单独的“byte”类型 - 已经用字符串来代替了。返回非文本值的函数 -
例如从网络套接字读取的任意数据 - 仍会返回字符串。

以上摘自手册 http://php.net/manual/zh/language.types.string.php

php里面string本来就是个byte array,不用转换,一般传输数字类型才需要pack。

unpack生成的array 下标是从1开始,而不是从0开始,这有点古怪

相关标签: php