php字元轉十六進制
㈠ 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進制的數字。
把文件裡面的每一個位元組的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 md5密文轉換成 16進制字元串
substr(md5($str),8,16);
㈣ PHP中的中文,轉換為16進制的方法
echo RawUrlEncode( $row_xx['xx']);
================
這樣即可。上面這個用raw的更加標准
㈤ 求將十進制數轉為十六進制數的JS或PHP代碼
JS十進制轉其他進制代碼如下var m = 10;document.write(m.toString(2) + "<br>"); // 顯示為 1010 二進制document.write(m.toString(8) + "<br>"); // 顯示為 12 8進制document.write(m.toString(10) + "<br>"); // 顯示為 10 十進制document.write(m.toString(16) + "<br>"); // 顯示為 a, 十六進制 php轉換函數如下:bindec() — 二進制轉換為十進制
decbin() — 十進制轉換為二進制
dechex() — 十進制轉換為十六進制
decoct() — 十進制轉換為八進制
hexdec() — 十六進制轉換為十進制
octdec() — 八進制轉換為十進制
base_convert()– 在任意進制之間轉換數字使用說明如下: 一,十進制(decimal system)轉換函數說明
1,十進制轉二進制 decbin() 函數,如下實例echo decbin(12); //輸出 1100
echo decbin(26); //輸出 11010
decbin
(PHP 3, PHP 4, PHP 5)
decbin -- 十進制轉換為二進制
說明
string decbin ( int number )
返回一字元串,包含有給定 number 參數的二進製表示。所能轉換的最大數值為十進制的 4294967295,其結果為 32 個 1 的字元串。2,十進制轉八進制 decoct() 函數echo decoct(15); //輸出 17
echo decoct(264); //輸出 410
decoct
(PHP 3, PHP 4, PHP 5)
decoct -- 十進制轉換為八進制
說明
string decoct ( int number )
返回一字元串,包含有給定 number 參數的八進製表示。所能轉換的最大數值為十進制的 4294967295,其結果為 "37777777777"。3,十進制轉十六進制 dechex() 函數echo dechex(10); //輸出 a
echo dechex(47); //輸出 2f
dechex
(PHP 3, PHP 4, PHP 5)
dechex -- 十進制轉換為十六進制
說明
string dechex ( int number )
返回一字元串,包含有給定 number 參數的十六進製表示。所能轉換的最大數值為十進制的 4294967295,其結果為 "ffffffff"。二,二進制(binary system)轉換函數說明
1,二進制轉十六制進 bin2hex() 函數$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;//輸出f9
bin2hex
(PHP 3 >= 3.0.9, PHP 4, PHP 5)
bin2hex -- 將二進制數據轉換成十六進製表示
說明
string bin2hex ( string str )
返回 ASCII 字元串,為參數 str 的十六進製表示。轉換使用位元組方式,高四位位元組優先。2,二進制轉十制進 bindec() 函數echo bindec(\\\'110011\\\'); //輸出 51
echo bindec(\\\'000110011\\\'); //輸出 51
echo bindec(\\\'111\\\'); //輸出 7
bindec
(PHP 3, PHP 4, PHP 5)
bindec -- 二進制轉換為十進制
說明
number bindec ( string binary_string )
返回 binary_string 參數所表示的二進制數的十進制等價值。
bindec() 將一個二進制數轉換成 integer。可轉換的最大的數為 31 位 1 或者說十進制的 2147483647。PHP 4.1.0 開始,該函數可以處理大數值,這種情況下,它會返回 float 類型。三,八進制(octal system)轉換函數說明
八進制轉十進制 octdec() 函數echo octdec(\\\'77\\\'); //輸出 63
echo octdec(decoct(45)); //輸出 45
octdec
(PHP 3, PHP 4, PHP 5)
octdec -- 八進制轉換為十進制
說明
number octdec ( string octal_string )
返回 octal_string 參數所表示的八進制數的十進制等值。可轉換的最大的數值為 17777777777 或十進制的 2147483647。PHP 4.1.0 開始,該函數可以處理大數字,這種情況下,它會返回 float 類型。四,十六進制(hexadecimal)轉換函數說明
十六進制轉十進制 hexdec()函數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)"
hexdec
(PHP 3, PHP 4, PHP 5)
hexdec -- 十六進制轉換為十進制
說明
number hexdec ( string hex_string )
返回與 hex_string 參數所表示的十六進制數等值的的十進制數。hexdec() 將一個十六進制字元串轉換為十進制數。所能轉換的最大數值為 7fffffff,即十進制的 2147483647。PHP 4.1.0 開始,該函數可以處理大數字,這種情況下,它會返回 float 類型。
hexdec() 將遇到的所有非十六進制字元替換成 0。這樣,所有左邊的零都被忽略,但右邊的零會計入值中。五,任意進制轉換 base_convert() 函數$hexadecimal = \\\'A37334\\\';
echo base_convert($hexadecimal, 16, 2);//輸出 101000110111001100110100
base_convert
(PHP 3 >= 3.0.6, PHP 4, PHP 5)base_convert -- 在任意進制之間轉換數字
說明
string base_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。
㈥ php uniqid生成16進制數嗎
Array[0] => Array[0] => 55[1] => 102[2] => 255一個這樣的數組,將其中的元素轉成16進制並拼接到一個字元串裡面。
如上面的數組元素轉成16進制之後是:[0]=>37 [1]=>66 [2]=>ff
再將它組合成下面的字元串格式:
$color = "#3766ff";
希望給點詳細的代碼和思路。我其實也是在後盾人學會的最近九折學費非常優惠
㈦ 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>";
}
㈧ 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進制顯示
輸出
㈨ php 如何將 16進制字元串轉為16進制字元數組 或者將 2進制字元串轉為16進制字元數組
echo ord(pack("H*", 'F'));
這個方法可以把hex轉成bin數據直接寫文件什麼的都可以了
我不確定你要的答案是什麼, 不過php中並不存在字元數組這個c的概念
至於bin轉hex, 直接用bin2hex()即可, 不過由於php沒有字元數組, 餘下的如果不是你要的, 再轉其它吧
php中字元本身就可以使用$var[x]的形式直接調用單個字元, 如果樓主想問的不是這些, 歡迎追問
㈩ 漢字怎樣轉換十六進制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); // 轉換成漢字:我愛你