> 백엔드 개발 > PHP 튜토리얼 > php如何拼接二进制数据成字符串?

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

WBOY
풀어 주다: 2016-06-23 14:20:01
원래의
1677명이 탐색했습니다.

二进制 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿