php十六进制
㈠ 汉字怎样转换十六进制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); // 转换成汉字:我爱你
㈡ PHP16进制格式字符串,转换成具体值的方法
最简单的就是base_convert()函数,可以实现2进制,8进制,10进制,16进制间的任意转换,
还有hexdec()可以实现16进制转换成10进制。
㈢ 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一组十六进制数据如何转成字符串
字符类型是整型类型的一种,将其转换成int类型,然后再输出十六进制形式即可。下面是一个示例程序。
#include <iostream>using namespace std;int main(){ char str_test[] = "hello world\n";int limit = strlen(str_test);for (int inx=0; inx!=limit; ++inx) //用static_cast将字符类型转成int类型cout<<str_test[inx]<<"---hex:"<<hex<<static_cast<int>(str_test[inx])<<"\t";cout<<endl;return 0;}
程序执行结果:
㈤ PHP 16进制运算
echo0-hexdec("F428");
㈥ php 16进制计算转换十进制
因为人类用的是十进制记数法,所以计算机大都在默认情况下输出十进制,所以是十进制36,除非你有意转换让显示十六进制或其他进制的数。至于二进制、八进制有什么前缀,那要看你使用的是什么编程语言,C/C++的十六进制输入前缀是0x,八进制输入前缀是o,没有二进制前缀,也不支持用二进制输入。输出当然可以但也没有前缀,有时人们在输出的二进制数后面加一个大写的B,不一而论。但要注意,凡输出的前缀、后缀是人们在程序中有意加入的,只有输入的前缀是系统要求的。
㈦ 如何php打印16进制和16进制转10进制
<?php
$a=0x20;
//打印十六进制
printf("0x%x",$a);//结果0x20
?>
<?php
$a=0x20;
//打印十六进制
echo'0x'.dechex($a);//结果0x20
//hexdec--十六进制转换为十进制
echohexdec($a);//结果50
㈧ 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进制HEX数据转换为2进制数据呢
十六进制转为二进制有两种理解方法,第一是十六进制字符串转二进制字符串,第二是十六进制数转二进制数,下面分别介绍2种转换方法:
1.hex2bin函数可以将十六进制字符串转换为二进制字符串,详细用法如下:
hex2bin — 转换十六进制字符串为二进制字符串
stringhex2bin(string$data)
转换十六进制字符串为二进制字符串。
参数:
data:十六进制表示的数据
返回值:
返回给定数据的二进制表示 或者在失败时返回 FALSE。
异常:
如果输入的十六进制字符串是奇数长数或者无效的十六进制字符串将会抛出E_WARNING 级别的错误。
示例:
$hex=hex2bin("");
echo$hex;//examplehexdata(其中16进制代表的是ascii码)
2.base_convert是真正意义上的进制转换函数
base_convert — 在任意进制之间转换数字
stringbase_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。
参数:
number:要转换的数字
frombase:原始进制
tobase:转换后的进制
示例:
$hexadecimal='A37334';
echobase_convert($hexadecimal,16,2);//101000110111001100110100
㈩ 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进制显示
输出