导航:首页 > 编程语言 > 16进制转汉字php

16进制转汉字php

发布时间:2022-08-02 04:23:50

1. 16进制转汉字的原理是什么

一、ASCII码是计算机进行信息交换的最基本字符标准,例如,键盘与计算机主机之间的通信就是靠ASCII的标准来支持的。例如: 大写字母A的ASCII码就是十进制数65,数字0的ASCII就是48,小写字母a的ASCII码就是十进制数97等。 二、汉字机内码与国标码的换算关系。 把国标码的汉字代码中的区码与位码分别换算为16进制数,然后再分别加上十六进制数80,即为该汉字的机内码。 第十三节 数在计算机中的表示 计算机中的数的表示 人们习惯用十进制数,它有两个特点:①基数为10,②逢十进一(其它数制特点亦 n-1 类似),可表示为(A)10=∑ ki*10 i=-m 一)、数制 计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。 一般计数都采用进位计数,其特点是: (1)逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数。 (2)采用位置表示法,处在不同位置的数字所代表的值不同,而在固定位置上单位数字表示的值是确定的,这个固定位上的值称为权。 在计算机中:D7 D6 D5 D4 D3 D2 D1 D0 只有两种0和1 二)、数制转换 不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相等。 要求以下四种进制: 十进制:有10个基数:0 ~~ 9 ,逢十进一 二进制:有2 个基数:0 ~~ 1 ,逢二进一 八进制:有8个基数:0 ~~ 7 ,逢八进一 十六进制:有16个基数:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一 1、数的进位记数法 N=an-1*pn-1+an-2*pn-2+…+a2*p2+a1*p1+a0*p0 2、十进制数与P进制数之间的转换 ①十进制转换成二进制:十进制整数转换成二进制整数通常采用除2取余法,小数部分乘2取整法。例如,将(30)10转换成二进制数。 将(30)10转换成二进制数 2|30 ….0 ----最右位 2|15 ….1 2| 7 ….1 2| 3 ….1 1….1 ----最左位 ∴ (30)10=(11110)2 将(30)10转换成八、十六进制数 8| 30 ……6 ------最右位 3 ------最左位 ∴ (30)10 =(36)8 16| 30 …14(E)----最右位 1 ----最左位 ∴(30)10 =(1E)16

2. php16进制格式字符串,转换成具体值的方法

最简单的就是base_convert()函数,可以实现2进制,8进制,10进制,16进制间的任意转换,
还有hexdec()可以实现16进制转换成10进制。

3. PHP 如何将数据库中存储的十六进制数转换为汉字

//字符串转换成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 '';

$hex = str2hex($str);
echo $hex;
echo '';

$dec = hex2str($hex);
echo $dec;
echo "";
echo "<hr>";
//gbk测试
$gbkstr = mb_convert_encoding($str,'GBK','UTF-8');
echo mb_strlen($gbkstr);
echo '';

$hex = str2hex($gbkstr);
echo $hex;
echo '';

$dec = mb_convert_encoding(hex2str($hex), 'UTF-8', 'GBK');
echo $dec;
echo "";
}

4. 汉字怎样转换十六进制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); // 转换成汉字:我爱你

5. 16进制怎么转化为汉字

汉字为双字节字符,即两组十六进制数表示一个汉字,而且前一个字符的ASC码大于 127。

给个转换为字符(包括汉字)Delphi 的例子:

procere TForm1.Button1Click(Sender: TObject);
function DeleteSpace(ss: String): String;
var //删除字符串中所有的空格
i: Integer;
begin
Result := ss;
i := 1;
while i <= Length(Result) do begin
if Result[i] = ' ' then Delete(Result, i, 1)
else Inc(i);
end;
end;
procere GetData(const ss: String; var dt: Array of Integer);
var
i,j: Integer;
sb: String;
begin
for i := Low(dt) to High(dt) do begin
j := 2 * i + 1;
sb := ss[j] + ss[j + 1];
dt[i] := StrToInt('$' + sb);
end;
end;
var
ss,sb,rt: String;
ac: Byte;
id,ct: Integer;
dt: Array of Integer;
begin
Edit2.Text := '';
ss := DeleteSpace(Edit1.Text); //去掉所有空格
ct := Length(ss);
if (ct mod 2) <> 0 then begin //首位<10
ss := '0' + ss;
Inc(ct);
end;
if ss[2] = 'x' then begin //考虑 0x878ABD7DB7CF 格式
Delete(ss, 1, 2);
Dec(ct, 2);
end;
SetLength(dt, ct div 2);
GetData(ss, dt);
rt := '';
if ct > 0 then begin
id := Low(dt);
while id <= High(dt) do begin
ac := dt[id];
if ac < 128 then begin // 单字节字符
sb := Chr(ac);
Inc(id);
end else begin //双字节字符
sb := Chr(ac) + Chr(dt[id + 1]);
Inc(id, 2);
end;
rt := rt + sb;
end;
end;
Edit2.Text := rt;
end;

6. 主要是这样的,我想用php读取txt文件里每一行的汉字 并实现16进制转码

题义是要将gbk编码先转换成utf8编码然后在转成urlecode。
写代码如下
<?php
$a=file('old.txt'); //旧文本
$f=fopen('new.txt','wt'); //新生成文本
foreach($a as $k=>$l){
$l=urlencode(iconv('gbk','utf-8',trim($l))); //cp936即gbk的早期版本
echo $l.'<br/>';
fwrite($f,$l."\n");
}
fclose($f);
=============
原文件内容:
汉字汉字
数字数字
网络网络

输出文件内容:
%E6%B1%89%E5%AD%97%E6%B1%89%E5%AD%97
%E6%95%B0%E5%AD%97%E6%95%B0%E5%AD%97
%E7%99%BE%E5%BA%A6%E7%99%BE%E5%BA%A6

7. PHP十六进制,十进制,八进制,二进制怎么转回原本的文字

你是在说进制间的转换吗?
base_convert() 函数貌似能帮助你

比如
$a = 120;// 十进制数
// 将此十进制数转换为 2进制
echo base_convert($a , 10 , 2); // 结果是 1111000

// 在吧 1111000 转回 120 十进制 也就二进制赚十进制
echo base_convert(1111000 , 2 , 10);

至于其他进制间转换 就跟上面的操作一样了。

8. 如何将16进制转化成汉字

十六进制和汉字之间不存在转换关系。
汉字在计算机内部存储用16位二进制数来存储,为了书写方便,将16位二进制数一般写出十六进制的形式,就是4位十六进制数,按照国标码和汉字机内码的转换方法,汉字存储时,每个字节的最高位均为1,也就是1******1*******的形式,转换成十六进制后,汉字的四位十六进制的第一位和第三位数均大于等于8,否则就不是汉字。

9. 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)"
?>

10. 在PHP中如何把地址栏中16进制转换成中文,要PHP中代码语句

echo urldecode($_GET['stra']);

阅读全文

与16进制转汉字php相关的资料

热点内容
腾讯云连接不上服务器 浏览:221
不能用来表示算法的是 浏览:859
6轴机器人算法 浏览:890
手机主题照片在哪个文件夹 浏览:294
安卓手机后期用什么软件调色 浏览:628
cad修改快捷键的命令 浏览:242
好钱包app怎么登录不了 浏览:859
树莓派都用python不用c 浏览:757
access文件夹树的构造 浏览:662
安卓多指操作怎么设置 浏览:658
linux树形目录 浏览:727
平方根的简单算法 浏览:898
千牛订单页面信息加密取消 浏览:558
单片机自制红外遥控灯 浏览:719
服务器最小配置怎么弄 浏览:853
ibm服务器硬件如何升级 浏览:923
全球程序员节点赞 浏览:986
php函数传递数组 浏览:632
人工峰群算法的目标函数 浏览:469
如何删加密文档 浏览:105