导航:首页 > 编程语言 > php16进制转中文

php16进制转中文

发布时间:2023-02-03 08:54:27

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进制: 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); // 转换成汉字:我爱你

2. 怎样将十六进制代码转换成文字

具体操作步骤如下:

1、首先,在十六进制编辑模式下,左侧是行数,中间是转换后的十六进制代码,右侧是原始文本内容,如下图所示,然后进入下一步。

3. 16进制怎么转换成中文,解释详细点谢谢!

线将16进制转换成10进制再转中文 16转10例如(1C01=1*16^3+12*16^2+0*16+1=7169)转中文的话在数字后加双引号例如(string s = s+"");

4. 如何把16进制编码转换为中文

void My_Convert(const char* strIn,char* strOut, int sourceCodepage, int targetCodepage)
{
int len = lstrlen(strIn);
int unicodeLen = MultiByteToWideChar(sourceCodepage, 0, strIn, -1, NULL, 0);
wchar_t* pUnicode;
pUnicode = new wchar_t[unicodeLen + 1];
memset(pUnicode, 0, (unicodeLen + 1) * sizeof(wchar_t));
MultiByteToWideChar(sourceCodepage, 0, strIn, -1, (LPWSTR)pUnicode, unicodeLen);
BYTE * pTargetData = NULL;
int targetLen = WideCharToMultiByte(targetCodepage, 0, (LPWSTR)pUnicode, -1, (char *)pTargetData, 0, NULL, NULL);
pTargetData = new BYTE[targetLen + 1];
memset(pTargetData, 0, targetLen + 1);
WideCharToMultiByte(targetCodepage, 0, (LPWSTR)pUnicode, -1, (char *)pTargetData, targetLen, NULL, NULL);
lstrcpy(strOut, (char*)pTargetData);
delete pUnicode;
delete pTargetData;
}

char acInput[] = {0xe5,0x80,0xbc,0xe4,0xb8,0x8d,0xe8,0x83,0xbd,0xe4,0xb8,0xba,0xe7,0xa9,0xba,0xe3,0x80,0x82,0x0d,0x0a,0xe5,0x8f,0x82,0xe6,0x95,0xb0,0xe5,0x90,0x8d,0x3a,0x20,0x73, 0x00};
char acOutput[256] = {0};
My_Convert(acInput, acOutput, CP_UTF8, CP_ACP);
printf("decode: %s\r\n", acOutput);

这样就可以。

5. php生成中文

中文是由两个字节的ascii码组成的

rand(0xB0, 0xCC) 意思是从16进制0xB0开始到0xCC之间取一个随机数
chr() 函数把ascii 转换成字符
点(.) 连接符把另一个chr()生成的字符连起来,就生成了两个字节的特殊字符。
输出之后就是中文了。

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

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

7. PHP中的中文,转换为16进制的方法

echo RawUrlEncode( $row_xx['xx']);
================
这样即可。上面这个用raw的更加标准

8. 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;

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

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

10. 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 "";
}

阅读全文

与php16进制转中文相关的资料

热点内容
有服务器地址怎么安装软件 浏览:659
安卓如何完全清除数据 浏览:690
安卓安卓证书怎么信任 浏览:53
服务器被攻击如何解决 浏览:221
学霸变成程序员 浏览:881
c语言编译错误fatalerror 浏览:441
ipv4内部服务器地址怎么分配 浏览:463
java线程安全的方法 浏览:950
重复命令画梯形 浏览:164
在疫情就是命令 浏览:328
自己搭建一个什么服务器好玩 浏览:253
java基础马士兵 浏览:823
完美世界手游如何查看服务器 浏览:859
光遇安卓与ios什么时候互通 浏览:598
js如何运行时编译 浏览:917
引力app在哪里下载 浏览:609
编写app如何得到钱 浏览:801
吉利汽车软件放哪个文件夹安装 浏览:223
多文件编译c 浏览:543
头顶加密后为什么反而更稀疏 浏览:794