Heim  >  Artikel  >  Backend-Entwicklung  >  php如何拼接二进制数据成字符串?

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

WBOY
WBOYOriginal
2016-06-23 14:20:011610Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn