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

php汉字转16进制

发布时间:2022-03-02 16:49:51

A. php 中文与16进制转换问题

以 \u 开头,后跟4个十六进制数(即范围在 0-9 A-F的字符),是unicode编码格式的字符。

在PHP中,如果想要进行两者之间的转换,可以使用以下的函数:

<meta charset="UTF-8"/>
<?php
// 转换编码,将可以浏览的utf-8字符串转换成Unicode编码
function unicode_encode($uStr)
{
$uStr = iconv('UTF-8', 'UCS-2', $uStr);
$len = strlen($uStr);
$str = '';
//for ($i = 0; $i < $len – 1; $i = $i + 2){
for ($i = 0; $i < $len - 1; $i = $i + 2) {
$c = $uStr[$i];
$c2 = $uStr[$i + 1];
if (ord($c) > 0) { // 两个字节的文字
$str .= '\u' . base_convert(ord($c), 10, 16) . base_convert(ord($c2), 10, 16);
} else {
$str .= $c2;
}
}
return $str;
}
// 转换编码,将Unicode编码转换成可以浏览的utf-8字符串
function unicode_decode($uStr)
{
$pattern = '/([\w]+)|(\\\u([\w]{4}))/i';
preg_match_all($pattern, $uStr, $matches);
if (!empty($matches)) {
$uStr = '';
for ($j = 0; $j < count($matches[0]); $j++) {
$str = $matches[0][$j];
if (strpos($str, '\\u') === 0) {
$code = base_convert(substr($str, 2, 2), 16, 10);
$code2 = base_convert(substr($str, 4), 16, 10);
$c = chr($code) . chr($code2);
$c = iconv('UCS-2', 'UTF-8', $c);
$uStr .= $c;
} else {
$uStr .= $str;
}
}
}
return $uStr;
}
$uStr = '大家好';
echo '原始字符: ', $uStr , ' Undicode编码:', unicode_encode($uStr);
?>

B. 主要是这样的,我想用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

C. PHP把单个字母转为十六进制的函数是什么

PHP convert string to hex and hex to string
<?php
function strToHex($string){
$hex = '';
for ($i=0; $i<strlen($string); $i++){
$ord = ord($string[$i]);
$hexCode = dechex($ord);
$hex .= substr('0'.$hexCode, -2);
}
return strToUpper($hex);
}
function hexToStr($hex){
$string='';
for ($i=0; $i < strlen($hex)-1; $i+=2){
$string .= chr(hexdec($hex[$i].$hex[$i+1]));
}
return $string;
}

// Tests
header('Content-Type: text/plain');
function test($expected, $actual, $success) {
if($expected !== $actual) {
echo "Expected: '$expected'\n";
echo "Actual: '$actual'\n";
echo "\n";
$success = false;
}
return $success;
}

$success = true;
$success = test('00', strToHex(hexToStr('00')), $success);
$success = test('FF', strToHex(hexToStr('FF')), $success);
$success = test('000102FF', strToHex(hexToStr('000102FF')), $success);
$success = test('↕↑↔§P↔§P ♫§T↕§↕', hexToStr(strToHex('↕↑↔§P↔§P ♫§T↕§↕')), $success);

echo $success ? "Success" : "\nFailed";

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

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

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

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

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

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

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

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

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

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

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

I. PHP中有没有将汉字直接转换成16进制的函数

<?$str="汉字";$ch16=str_replace("%","",urlencode($str));echo $ch16;?>输出:BABAD7D6

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

阅读全文

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

热点内容
优信二手车解压后过户 浏览:63
Windows常用c编译器 浏览:780
关于改善国家网络安全的行政命令 浏览:835
安卓如何下载网易荒野pc服 浏览:656
javainetaddress 浏览:106
苹果4s固件下载完了怎么解压 浏览:1005
命令zpa 浏览:288
python编译器小程序 浏览:946
在app上看视频怎么光线调暗 浏览:542
可以中文解压的解压软件 浏览:595
安卓卸载组件应用怎么安装 浏览:915
使用面向对象编程的方式 浏览:342
程序员项目经理的年终总结范文 浏览:932
内衣的加密设计用来干嘛的 浏览:435
淮安数据加密 浏览:295
魔高一丈指标源码 浏览:984
松下php研究所 浏览:171
c回调java 浏览:403
梦幻端游长安地图互通源码 浏览:747
电脑本地文件如何上传服务器 浏览:315