導航:首頁 > 編程語言 > 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相關的資料

熱點內容
gz壓縮文件夾 瀏覽:177
字母h從右往左跑的c語言編程 瀏覽:127
安卓手機如何擁有蘋果手機橫條 瀏覽:765
業余編程語言哪個好學 瀏覽:137
按照文件夾分個壓縮 瀏覽:104
航空工業出版社單片機原理及應用 瀏覽:758
如何在電信app上綁定親情號 瀏覽:376
安卓的怎麼用原相機拍月亮 瀏覽:805
配音秀為什麼顯示伺服器去配音了 瀏覽:755
c盤清理壓縮舊文件 瀏覽:325
app怎麼交付 瀏覽:343
圖蟲app怎麼才能轉到金幣 瀏覽:175
如何做徵文app 瀏覽:446
用什麼app管理斐訊 瀏覽:169
安卓如何下載寶可夢劍盾 瀏覽:166
編譯器開發屬於哪個方向 瀏覽:940
megawin單片機 瀏覽:687
以色列加密貨幣監督 瀏覽:909
程序員前端現在怎麼樣 瀏覽:499
伺服器和介面地址ping不通 瀏覽:557