Home > Backend Development > PHP Tutorial > php如何拼接二进制数据成字符串?

php如何拼接二进制数据成字符串?

WBOY
Release: 2016-06-23 14:20:01
Original
1679 people have browsed it

二进制 php utf-8 编码

比如字符“你”的utf8 编码是“E4BDA0”。
现在有一数组$arr
$arr = array(chr(228), chr(189), chr(160));
Copy after login

如何将其拼接成一块,可以让其打印出字符“你”?
求帮助


回复讨论(解决方案)

$arr = array(chr(228), chr(189), chr(160));echo join('', $arr); //你foreach($arr as $v) echo $v;for($i=0; $i<count($arr); $i++) echo $arr[$i];
Copy after login
Copy after login


echo pack('H*', 'E4BDA0');echo hex2bin('E4BDA0');
Copy after login
Copy after login

$arr = array(chr(228), chr(189), chr(160));echo join('', $arr); //你foreach($arr as $v) echo $v;for($i=0; $i<count($arr); $i++) echo $arr[$i];
Copy after login
Copy after login


echo pack('H*', 'E4BDA0');echo hex2bin('E4BDA0');
Copy after login
Copy after login

谢谢~下面两个可行~
奇怪的是我昨天用join打印出来是三个字符~今天竟然join可用了~
就是不知道join性能怎么样~

join 在内部做循环,肯定比你在代码中做循环来的快

join 在内部做循环,肯定比你在代码中做循环来的快
我在改进一个模板引擎,之前就发过两个贴子问正则表达式匹配标签的问题~未果
无奈,我决定自己写个语法分析器~可惜PHP不支持指针和内存拷贝等高性能的东西,不知道用这种方法弄出来性能会损失多少~

不能因为“耽心”而畏首畏尾
性能是比较出来的,你总得多做几个方案。
有比较才能有鉴别!

php 是解释执行的,每一条指令都需要花费一点时间的
循环也多,时间愈多。递归也是循环
识别模式,字符串函数循环优于正则
能用迭代器就不自己循环
......

不能因为“耽心”而畏首畏尾
性能是比较出来的,你总得多做几个方案。
有比较才能有鉴别!

php 是解释执行的,每一条指令都需要花费一点时间的
循环也多,时间愈多。递归也是循环
识别模式,字符串函数循环优于正则
能用迭代器就不自己循环
......
谢谢~十分感谢~

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template