比如字符“你”的utf8 编码是“E4BDA0”。
现在有一数组$arr
$arr = array(chr(228), chr(189), chr(160));
如何将其拼接成一块,可以让其打印出字符“你”?
求帮助二进制phputf-8编码

解决方案 »

  1.   

    $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');
      

  2.   

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

  3.   

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

  4.   

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

  5.   

    不能因为“耽心”而畏首畏尾
    性能是比较出来的,你总得多做几个方案。
    有比较才能有鉴别!php 是解释执行的,每一条指令都需要花费一点时间的
    循环也多,时间愈多。递归也是循环
    识别模式,字符串函数循环优于正则
    能用迭代器就不自己循环
    ......