>  기사  >  백엔드 개발  >  php,怎么 string 转 byte array?

php,怎么 string 转 byte array?

WBOY
WBOY원래의
2016-06-06 20:07:531565검색

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开始,这有点古怪

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.