欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中UTF8二进制及明文字符串的转化功能详解

程序员文章站 2022-05-18 08:15:22
...
这篇文章主要介绍了PHP实现UTF8二进制及明文字符串的转化功能,涉及php进制及编码转换相关操作技巧,需要的朋友可以参考下

具体如下:


<?php
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我们是谁?


相关推荐:

繁简字转换器 PHP UTF8编码内的繁简转换类

php utf8 一半乱码的问题

PHP UTF8字符集内简体和繁体互转


以上就是PHP中UTF8二进制及明文字符串的转化功能详解的详细内容,更多请关注其它相关文章!