php字符转ascii(php 字符串转utf8)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
本篇文章给大家谈谈php字符转ascii,以及php 字符串转utf8对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、汉字怎样转换十六进制php
- 2、如何对php字符串中的每一个字符操作
- 3、TP5地址中有index.php的只要带中文参数就报错,怎么解?
- 4、php怎么生成6位随机数,php随机数例子
- 5、如何把一个PHP文件解密
- 6、PHP字符可以按ASCII码相加吗?
汉字怎样转换十六进制php
//汉字进制转换
//$string 传入的汉字或其它字符
//$tobase 要转换的进制 范围 2~36 之间任意取值
//$back 返回形式,0 转换成进制代码 ; 1 将进制转换成汉字
function ASCII($String,$tobase,$back){
if( $tobase 1 $tobase 37 ){
if($back == 0){
return preg_replace('/(.)/es',"str_pad(base_convert(ord('\\1'),10,$tobase),8,'0',STR_PAD_LEFT)",$String);
}else{
return preg_replace('/(\w{8})/e',"chr(base_convert('\\1',$tobase,10))",$String);
}
}else{
return false;
}
}
//范例
$str = '我爱你';
$en = ASCII($str,2,0); // 转换成2进制: 111001101000100010010001111001111000100010110001111001001011110110100000
echo ASCII($en,2,1); // 转换成汉字:我爱你
$en = ASCII($str,8,0); // 转换成8进制: 000003460000021000000221000003470000021000000261000003440000027500000240
echo ASCII($en,8,1); // 转换成汉字:我爱你
$en = ASCII($str,10,0); // 转换成10进制: 000002300000013600000145000002310000013600000177000002280000018900000160
echo ASCII($en,10,1); // 转换成汉字:我爱你
$en = ASCII($str,10,0); // 转换成10进制: 000002300000013600000145000002310000013600000177000002280000018900000160
echo ASCII($en,10,1); // 转换成汉字:我爱你
$en = ASCII($str,16,0); // 转换成10进制: 000000e60000008800000091000000e700000088000000b1000000e4000000bd000000a0
echo ASCII($en,16,1); // 转换成汉字:我爱你
如何对php字符串中的每一个字符操作
用这两个函数实现最好,php处理字符的能力没有c语言那么强。
把这句:$resultString.=$str[$i]+1;
改成:$resultString.=chr(ord($str[$i])+1);
echo decode('abcde');//输出bcdef
echo decode('xyz');//输出yz{
?php
function decode($str){
$resultString = "";
for($i = 0;$i strlen($str);$i++){
$resultString.=chr(ord($str[$i])+1);//把字符转换成ascii码+1再转回去
}
return $resultString;
}
echo decode('abcde');
echo '/br';
echo decode('xyz');
?
TP5地址中有index.php的只要带中文参数就报错,怎么解?
可以用英文
不能用英文可以先把中文转成ascii,在收到之后在转换成中文
?php
$instr = '测试';
//A:将字符串(中文同样实用)转为ascii
function strtoascii($str){
$str=mb_convert_encoding($str,'GB2312');
//注意:我默认当前我们的php文件环境是UTF-8,如果是GBK的话mb_convert_encoding操作就不需要
$change_after='';
for($i=0;$istrlen($str);$i++){
$temp_str=dechex(ord($str[$i]));
$change_after.=$temp_str[1].$temp_str[0];
}
return strtoupper($change_after);
}
//B:将ascii转为字符串(中文同样实用)
function asciitostr($sacii){
$asc_arr= str_split(strtolower($sacii),2);
$str='';
for($i=0;$icount($asc_arr);$i++){
$str.=chr(hexdec($asc_arr[$i][1].$asc_arr[$i][0]));
}
return mb_convert_encoding($str,'UTF-8','GB2312');
//注意:我默认当前我们的php文件环境是UTF-8,如果是GBK的话mb_convert_encoding操作就不需要
}
echo strtoascii($instr);//2B2EAC4D
echo asciitostr("2B2EAC4D");//测试

php怎么生成6位随机数,php随机数例子
通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。
复制代码 代码如下:
function randomkeys($length)
{
$pattern = '1234567890abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./l
t;?;#:@~[]{}-_=+)(*^%___FCKpd___0pound;"!'; //字符池
for($i=0;$i$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php随机数
}
return $key;
}
echo randomkeys(8);
这个php随机函数能生成XC*=z~7L这样的字符串,够随机!现在介绍另一种用PHP生成随机数的方法:利用chr()函数,省去创建字符池的步骤。
复制代码 代码如下:
function randomkeys($length)
{
$output='';
for ($a = 0; $a $length; $a++) {
$output .= chr(mt_rand(33, 126)); //生成php随机数
}
return $output;
}
echo randomkeys(8);
在第二个php随机函数里,先用mt_rand()生成一个介于33到126之间的php随机数,然后用chr()函数转化成字符。查看ascii码表就会发现,33到126代表的正是第一个函数中字符池里的所有字符。第二个函数和第一个函数功能相同,而且更简洁。
如何把一个PHP文件解密
所谓的PHP文件加密,一般有两种方式,一是ZEND编译,二是BASE64等编码,理论上都不是加密,下面分别说说如何还原。
对于ZEND编译过的代码,用记事本打开是完全是乱码,除了前面的很小的头部,后面不是可见ASCII字符,有点像打开一个EXE文件的效果,是无法阅读的。这类处理的文件一般认为是无法还原的,网上有DEZEND工具,你可以下载来试试看,能还原早期ZEND版本编译后的代码。
对于使用BASE64等编码后的PHP文件,可以用记事本打开查看,所有字符都是可见ASCII字符,一般使用两种方法加大阅读难度:一是使用$ll111、$ooo000这样的变量,字母L的小写与1混在一起、字母O的小写与数字0混在一起,不容易分辨变量名称。二是使用BASE64编码对原始代码进行转换,最后使用eval进行处理。往往两种方式结合在一起。
第二种方式处理后的代码是很容易还原的,方法就是把eval换为exit,在CLI(命令提示符)下执行就会显示出eval那个语句对应的等效代码,替换原始语句即可。有时候还原一次后还是eval语句,那需要按照同样的方法反复处理。
PHP字符可以按ASCII码相加吗?
echo 'a+b='.$a+$b; 会先计算echo 'a+b='.$a 结果为a+b+A
然后计算 'a+b+A' + $b, 两个字符串相加都会被转换为数字0. 所以结果是零.
关于php字符转ascii和php 字符串转utf8的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
