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

WBOY
发布: 2016-06-23 14:20:01
原创
1660 人浏览过

二进制 php utf-8 编码

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

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


回复讨论(解决方案)

$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];
登录后复制
登录后复制


echo pack('H*', 'E4BDA0');echo hex2bin('E4BDA0');
登录后复制
登录后复制

$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];
登录后复制
登录后复制


echo pack('H*', 'E4BDA0');echo hex2bin('E4BDA0');
登录后复制
登录后复制

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

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

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

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

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

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

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!