php怎麼將資料轉為16進位字串

青灯夜游
發布: 2023-03-16 18:52:02
原創
3298 人瀏覽過

3種轉換方法:1、使用dechex()函數,可以把十進位數轉換為十六進位字串,語法「dechex(指定資料值);」。 2.使用base_convert()函數,可以將任意進位值轉換為十六進位字串,語法「base_convert(資料值,原進位,16);」。 3.使用bin2hex()函數,可以把ASCII字元的字串轉換為十六進位字串,語法「bin2hex(資料值)」。

php怎麼將資料轉為16進位字串

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

在php中,將資料轉為16進位字串分兩種情況:

  • 將其他進位的資料轉為16進位字串

  • 將ASCII 字元的字串轉為16進位字串

不同情況,使用的函數不同。

情況1:將其他進位的資料轉為16進位字串

PHP提供兩種函數來轉換:

  • dechex()函數

  • base_convert()函數

1、dechex( )函數轉換

dechex() 函數把十進位數轉換為十六進位數。

dechex(number);
登入後複製

傳回值:一個字串,包含十進制值的十六進位數。    

範例:

<?php
echo dechex("30") . "<br>";
echo dechex("10") . "<br>";
echo dechex("1587") . "<br>";
echo dechex("70");
?>
登入後複製

php怎麼將資料轉為16進位字串

#說明:

hexdec() 將一個十六進位字串轉換為十進位數。所能轉換的最大數值為 7ffffffff,即十進制的 2147483647。 PHP 4.1.0 開始,函數可以處理大數字,在這種情況下,它會傳回 float 類型。

hexdec() 將遇到的所有非十六進位字元替換成 0。這樣,所有左邊的零都被忽略,但右邊的零會計入值中。

2、base_convert()函數轉換

base_convert() 函數在任意進位之間轉換數字。

base_convert(number,frombase,tobase);
登入後複製
參數描述
#number必要。規定要轉換的數字。
frombase必要。規定數字原來的進制。介於 2 和 36 之間(包括 2 和 36)。高於十進制的數字以字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。
tobase必要。規定要轉換的進制。介於 2 和 36 之間(包括 2 和 36)。高於十進制的數字以字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。

當參數 tobase 的值為16時,可將其他進位數轉換為16進位數。

範例:

<?php
echo base_convert("30", 10, 16) . "<br>";
echo base_convert("364", 8, 16) . "<br>";
?>
登入後複製

php怎麼將資料轉為16進位字串

說明:

base_convert()函數也可以實作16進位轉其他進制,此時參數frombase的值需要固定值16。

範例16轉10:

<?php
echo base_convert("1e", 16, 10) . "<br>";
echo base_convert("a", 16, 10) . "<br>";
echo base_convert("11ff", 16, 10) . "<br>";
echo base_convert("cceeff", 16, 10);
?>
登入後複製

php怎麼將資料轉為16進位字串

如果只是想16進位轉10進制,還有一個更方便的函數hexdec() 

hexdec() 將一個十六進位字串轉換為十進制數。所能轉換的最大數值為 7ffffffff,即十進制的 2147483647。 PHP 4.1.0 開始,函數可以處理大數字,在這種情況下,它會傳回 float 類型。

hexdec() 將遇到的所有非十六進位字元替換成 0。這樣,所有左邊的零都被忽略,但右邊的零會計入值中。

<?php
echo hexdec("1e") . "<br>";
echo hexdec("a") . "<br>";
echo hexdec("11ff") . "<br>";
echo hexdec("cceeff");
?>
登入後複製

php怎麼將資料轉為16進位字串

情況2:將ASCII 字元的字串轉為16進位字串

bin2hex() 函數把ASCII 字元的字串轉換為十六進位值。

bin2hex(string)
登入後複製

傳回值:傳回要轉換字串的十六進位值。

<?php
echo bin2hex("Hello!")."<br>";
echo bin2hex("123")."<br>";
echo bin2hex("10")."<br>";
?>
登入後複製

php怎麼將資料轉為16進位字串

推薦學習:《PHP影片教學

以上是php怎麼將資料轉為16進位字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板