PHP实现UTF8二进制及明文字符串的转化功能示例

2018-09-07 13:31

阅读:270

  本文实例讲述了PHP实现UTF8二进制及明文字符串的转化功能。分享给大家供大家参考,具体如下:

   <?php /***********本程序由云客编写。有空的时候承接php软件开发 *满足一下新手们的好奇心,看看UTF-8的二进制是什么样子滴 ****************************/ define(b, <br>); $a = FE; $a1 = FF; $s = 16; $e = 2; echo $s . 进制的 . $a . 表示为 . $e . 进制是 . base_convert($a, $s, $e) . b; echo $s . 进制的 . $a1 . 表示为 . $e . 进制是 . base_convert($a1, $s, $e) . b; $str = 计算机rr我们是谁?; $strlen = strlen($str); $n = 0; echo $str.(二进制UTF-8表示):.b; $str_bin=; while ($n < $strlen) { $t = ord($str[$n]); $stra=base_convert($t, 10, 2) ; if(strlen($stra)<8) { $stra=0.$stra; } $str_bin.=$stra; $n++; } echo $str_bin.b;//已经翻译为二进制了 $str_bin=1110100010101110101000011110011110101110100101111110011010011100101110100110000101110011111001101000100010010001111001001011101110101100111001101001100010101111111010001011000010000001111011111011110010011111; //在此输入二进制,程序编码为明文输出 $chr=; $str=; for($i=0;$i<strlen($str_bin);$i++) { $chr.=$str_bin[$i]; if(($i+1)%8==0) { $str.=chr(base_convert($chr, 2, 10)); $chr=NULL; } } echo $str;//二进制的UTF8原代码明文 ?>

  运行结果:

   16进制的FE表示为2进制是11111110 16进制的FF表示为2进制是11111111 计算机rr我们是谁?(二进制UTF-8表示): 1110100010101110101000011110011110101110100101111110011010011100101110100111001001110010111001101000100010010001111001001011101110101100111001101001100010101111111010001011000010000001111011111011110010011111 计算机as我们是谁?

  PS:这里再为大家推荐几款相关在线编码转换工具供大家参考使用:

  UTF-8编码转换工具:

  在线编码转换工具(utf-8/utf-32/Punycode/Base64):

  Native/UTF-8在线编码转换工具:

  在线任意进制转换工具:

  更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP编码与转码操作技巧汇总》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、及《php常见数据库操作技巧汇总》

  希望本文所述对大家PHP程序设计有所帮助。


评论


亲,登录后才可以留言!