字符与ascii的互转

  1. 字符转ascii

<?PHP
//中文字符转ascii,首先要判断是gbk/gb2312编码还是utf-8编码
//中文gbk/gb2312 每个中文由两个英文字符组成,也就有两个ascii码
//中文utf-8 每个中文由三个英文字符组成,也就有三个ascii码
//下面以GBK编码为例:
$char = 'gbk';
$str = '我是百度baidu.com';//中英文数字混排
echo "要输出的字符串是: ".$str,$char."<br />\n";;
$c = mb_strlen($str,$char);
for($i =0;$i<$c;$i++){
  $arr[]=mb_substr($str,$i,1,$char);
}
foreach($arr as $i=>$v){
  if(preg_match('/\w/i',$v,$match)){
    echo $v ."的ascii码:".ord($v)."<br />\n";
    $out[] = "   ".ord($v);
  }else{
    echo $v ."的ascii码由两个组成:".ord($v{0})." ".ord($v{1})."<br />\n" ;
    $out[] = "   ".ord($v{0});
    $out[] = "   ".ord($v{1}); 
  }
}
echo $str."的ascii码是:"."<br />\n".implode($out);
?>

2.Ascii转换为字符

<?php
//因为解密某些代码所写的还原。没有考虑针对中文的
//$strCont=file_get_contents("test.php");
$strCont=@$_POST[code];
if (isset($strCont)) {
$pieces = explode(" ", $strCont);
for($i=0;$i<count($pieces);$i++){
echo chr($pieces[$i]);
} }
?>
<form method="post" action="">
<textarea cols="80" rows="5" name="code"></textarea>
<input type="submit" name="button" value="submit" />


你可能感兴趣的:(字符与ascii的互转)