php字符转十六进制
㈠ php里,16进制格式字符串,转换成具体值的方法
还有 hexdec 这个函数number hexdec ( string $hex_string )
Example #1 hexdec() 例子
<?php
var_mp(hexdec("See"));
var_mp(hexdec("ee"));
// both print "int(238)"
var_mp(hexdec("that")); // print "int(10)"
var_mp(hexdec("a0")); // print "int(160)"
?>
㈡ php 怎么读取一个文件,保存为16进制的数字。
把文件里面的每一个字节的ascii码转成16进制就可以了,如下:
$content=file_get_contents("myfile");
$hex="";
for($i=0;$i<=strlen($content);$i++){
$asc=ord(substr($content,$i,1));
$hex.=dechex($asc);
}
file_put_contents("mynewfile",$hex);
㈢ PHP md5密文转换成 16进制字符串
substr(md5($str),8,16);
㈣ PHP中的中文,转换为16进制的方法
echo RawUrlEncode( $row_xx['xx']);
================
这样即可。上面这个用raw的更加标准
㈤ 求将十进制数转为十六进制数的JS或PHP代码
JS十进制转其他进制代码如下var m = 10;document.write(m.toString(2) + "<br>"); // 显示为 1010 二进制document.write(m.toString(8) + "<br>"); // 显示为 12 8进制document.write(m.toString(10) + "<br>"); // 显示为 10 十进制document.write(m.toString(16) + "<br>"); // 显示为 a, 十六进制 php转换函数如下:bindec() — 二进制转换为十进制
decbin() — 十进制转换为二进制
dechex() — 十进制转换为十六进制
decoct() — 十进制转换为八进制
hexdec() — 十六进制转换为十进制
octdec() — 八进制转换为十进制
base_convert()– 在任意进制之间转换数字使用说明如下: 一,十进制(decimal system)转换函数说明
1,十进制转二进制 decbin() 函数,如下实例echo decbin(12); //输出 1100
echo decbin(26); //输出 11010
decbin
(PHP 3, PHP 4, PHP 5)
decbin -- 十进制转换为二进制
说明
string decbin ( int number )
返回一字符串,包含有给定 number 参数的二进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 32 个 1 的字符串。2,十进制转八进制 decoct() 函数echo decoct(15); //输出 17
echo decoct(264); //输出 410
decoct
(PHP 3, PHP 4, PHP 5)
decoct -- 十进制转换为八进制
说明
string decoct ( int number )
返回一字符串,包含有给定 number 参数的八进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 "37777777777"。3,十进制转十六进制 dechex() 函数echo dechex(10); //输出 a
echo dechex(47); //输出 2f
dechex
(PHP 3, PHP 4, PHP 5)
dechex -- 十进制转换为十六进制
说明
string dechex ( int number )
返回一字符串,包含有给定 number 参数的十六进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 "ffffffff"。二,二进制(binary system)转换函数说明
1,二进制转十六制进 bin2hex() 函数$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;//输出f9
bin2hex
(PHP 3 >= 3.0.9, PHP 4, PHP 5)
bin2hex -- 将二进制数据转换成十六进制表示
说明
string bin2hex ( string str )
返回 ASCII 字符串,为参数 str 的十六进制表示。转换使用字节方式,高四位字节优先。2,二进制转十制进 bindec() 函数echo bindec(\\\'110011\\\'); //输出 51
echo bindec(\\\'000110011\\\'); //输出 51
echo bindec(\\\'111\\\'); //输出 7
bindec
(PHP 3, PHP 4, PHP 5)
bindec -- 二进制转换为十进制
说明
number bindec ( string binary_string )
返回 binary_string 参数所表示的二进制数的十进制等价值。
bindec() 将一个二进制数转换成 integer。可转换的最大的数为 31 位 1 或者说十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数值,这种情况下,它会返回 float 类型。三,八进制(octal system)转换函数说明
八进制转十进制 octdec() 函数echo octdec(\\\'77\\\'); //输出 63
echo octdec(decoct(45)); //输出 45
octdec
(PHP 3, PHP 4, PHP 5)
octdec -- 八进制转换为十进制
说明
number octdec ( string octal_string )
返回 octal_string 参数所表示的八进制数的十进制等值。可转换的最大的数值为 17777777777 或十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。四,十六进制(hexadecimal)转换函数说明
十六进制转十进制 hexdec()函数var_mp(hexdec("See"));
var_mp(hexdec("ee"));
// both print "int(238)"
var_mp(hexdec("that")); // print "int(10)"
var_mp(hexdec("a0")); // print "int(160)"
hexdec
(PHP 3, PHP 4, PHP 5)
hexdec -- 十六进制转换为十进制
说明
number hexdec ( string hex_string )
返回与 hex_string 参数所表示的十六进制数等值的的十进制数。hexdec() 将一个十六进制字符串转换为十进制数。所能转换的最大数值为 7fffffff,即十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。
hexdec() 将遇到的所有非十六进制字符替换成 0。这样,所有左边的零都被忽略,但右边的零会计入值中。五,任意进制转换 base_convert() 函数$hexadecimal = \\\'A37334\\\';
echo base_convert($hexadecimal, 16, 2);//输出 101000110111001100110100
base_convert
(PHP 3 >= 3.0.6, PHP 4, PHP 5)base_convert -- 在任意进制之间转换数字
说明
string base_convert ( string number, int frombase, int tobase )
返回一字符串,包含 number 以 tobase 进制的表示。number 本身的进制由 frombase 指定。frombase 和 tobase 都只能在 2 和 36 之间(包括 2 和 36)。高于十进制的数字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。
㈥ php uniqid生成16进制数吗
Array[0] => Array[0] => 55[1] => 102[2] => 255一个这样的数组,将其中的元素转成16进制并拼接到一个字符串里面。
如上面的数组元素转成16进制之后是:[0]=>37 [1]=>66 [2]=>ff
再将它组合成下面的字符串格式:
$color = "#3766ff";
希望给点详细的代码和思路。我其实也是在后盾人学会的最近九折学费非常优惠
㈦ php 怎么将utf-8格式的汉字转换成16进制
//字符串转换成16进制
function str2hex($str){
$hex = ''
for($i=0,$length=mb_strlen($str); $i<$length; $i++){
$hex .= dechex(ord($str{$i}));
}
return $hex;
}
//16进制转换成字符串
function hex2str($hex){
$str = ''
$arr = str_split($hex, 2);
foreach($arr as $bit){
$str .= chr(hexdec($bit));
}
return $str;
}
function test(){
//utf8字符测试
$str = '中文'
echo mb_strlen($str);
echo '<br>'
$hex = str2hex($str);
echo $hex;
echo '<br>'
$dec = hex2str($hex);
echo $dec;
echo "<br>";
echo "<hr>";
//gbk测试
$gbkstr = mb_convert_encoding($str,'GBK','UTF-8');
echo mb_strlen($gbkstr);
echo '<br>'
$hex = str2hex($gbkstr);
echo $hex;
echo '<br>'
$dec = mb_convert_encoding(hex2str($hex), 'UTF-8', 'GBK');
echo $dec;
echo "<br>";
}
㈧ PHP 中如何进行 长16进制的字符串运算
大整数需要用GMP模块,或者自己算法好可以写简单的累加,
在php.ini中开启模块extension=php_gmp.dll
<?php
$n = gmp_init('',16); //16进制输入
$n = gmp_add($n,1); //加1
echo gmp_strval($n,16).'<br/>'; //16进制显示
$n = gmp_add($n,13869656); //加法
echo gmp_strval($n,16).'<br/>'; //16进制显示
输出
㈨ php 如何将 16进制字符串转为16进制字符数组 或者将 2进制字符串转为16进制字符数组
echo ord(pack("H*", 'F'));
这个方法可以把hex转成bin数据直接写文件什么的都可以了
我不确定你要的答案是什么, 不过php中并不存在字符数组这个c的概念
至于bin转hex, 直接用bin2hex()即可, 不过由于php没有字符数组, 余下的如果不是你要的, 再转其它吧
php中字符本身就可以使用$var[x]的形式直接调用单个字符, 如果楼主想问的不是这些, 欢迎追问
㈩ 汉字怎样转换十六进制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进制: 00
echo ASCII($en,2,1); // 转换成汉字:我爱你
$en = ASCII($str,8,0); // 转换成8进制: 40
echo ASCII($en,8,1); // 转换成汉字:我爱你
$en = ASCII($str,10,0); // 转换成10进制: 60
echo ASCII($en,10,1); // 转换成汉字:我爱你
$en = ASCII($str,10,0); // 转换成10进制: 60
echo ASCII($en,10,1); // 转换成汉字:我爱你
$en = ASCII($str,16,0); // 转换成10进制: a0
echo ASCII($en,16,1); // 转换成汉字:我爱你