很多站长朋友们都不太清楚php数字转ascii,今天小编就来给大家整理php数字转ascii,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 汉字怎样转换十六进制php 2、 php怎么生成6位随机数? 3、 php ascii 怎么转成utf8 4、 php如何判断大小写字母,数字,ASCII符号 5、 PHP字符可以按ASCII码相加吗? 6、 php位运算中为什么 'a'&1=0,而不是1,a的ascii码对应值是97,那不就是97&1=1吗? 汉字怎样转换十六进制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怎么生成6位随机数?通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和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 ascii 怎么转成utf8下载个ConvertZ,就能批量将ascii转成utf-8了 你看过后很简单吧以后不会可以向我一样经常到后盾人找找相关教材看看就会了,希望能帮到你,给个采纳吧谢谢凸(>皿<)凸
php如何判断大小写字母,数字,ASCII符号header('Content-Type:text/html;charset=utf-8');
$subject='fgGGGsdfgs';
if(preg_match('@^\d+$@', $subject)){
echo '数字';
}elseif(preg_match('@^\w+$@', $subject)){
echo '英文';
}else{
echo '混合';
}
上面代码是用正则来判断的
PHP字符可以按ASCII码相加吗?echo 'a+b='.$a+$b; 会先计算echo 'a+b='.$a 结果为a+b+A
然后计算 'a+b+A' + $b, 两个字符串相加都会被转换为数字0. 所以结果是零.
php位运算中为什么 'a'&1=0,而不是1,a的ascii码对应值是97,那不就是97&1=1吗?PHP 官方文档中, Bitwise Operator 中有一段话:
If both operands for the , | and ^ operators are strings, then the operation will be performed on the ASCII values of the characters that make up the strings and the result will be a string. In all other cases, both operands will be converted to integers and the result will be an integer.
使用 , | 还有 ^ 操作符的时候,只有操作符两边的值都是 string 的时候,才会使用 ASCII 去运算,返回 string,其他的所有情况下,都会把值转换成 int。
你问题中的运算并非两个值都是字符串,所以都要被转成 int 计算。intval( 'a' ); 的结果是0,所以相当于 0 1
关于php数字转ascii的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php数字转ascii php数字转字符的详细内容...