发布网友 发布时间:2022-04-06 01:07
共3个回答
懂视网 时间:2022-04-06 05:28
php字符串转为16进制的方法:首先创建一个PHP示例文件;然后通过String2Hex方法将字符串转为16进制;最后通过return返回转换结果即可。
推荐:《PHP视频教程》
php字符串和16进制编码的相互转换
php字符串是十进制的
/** **字符串转16进制 **/ public function String2Hex($string){ $hex=''; for ($i=0; $i < strlen($string); $i++){ $hex .= dechex(ord($string[$i])); } return $hex; } /** **16进制转字符串 **/ public function Hex2String($hex){ $string=''; for ($i=0; $i < strlen($hex)-1; $i+=2){ $string .= chr(hexdec($hex[$i].$hex[$i+1])); } return $string; } // example: $hex = String2Hex("test sentence..."); // $hex contains 746573742073656e74656e63652e2e2e echo Hex2String($hex); // outputs: test sentenc
我在做aes加密是发现一个问题,发现将字符串转16进制会出现转出数据位数对不上的问题可以修改为如下试试:
public function String2Hex($string){ $hex=''; // for ($i=0; $i < strlen($string); $i++){ // $hex .= dechex(ord($string[$i])); // } $hex = bin2hex($string); return $hex; }
热心网友 时间:2022-04-06 02:36
//汉字进制转换
//$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进制: 0000023000000136000001450000023100000136000001770000022800000100000160
echo ASCII($en,10,1);// 转换成汉字:我爱你
$en = ASCII($str,10,0);// 转换成10进制: 0000023000000136000001450000023100000136000001770000022800000100000160
echo ASCII($en,10,1);// 转换成汉字:我爱你
$en = ASCII($str,16,0);// 转换成10进制: 000000e60000008800000091000000e700000088000000b1000000e4000000bd000000a0
echo ASCII($en,16,1);// 转换成汉字:我爱你
热心网友 时间:2022-04-06 03:54
你转换成十六进制的要干嘛啊?
没见过直接转十六进制的