PHP編寫程序實現16進制轉換并反向輸出字符串
在編程中,經常會遇到需要將字符串轉換為16進制的情況,或者需要將16進制數轉換為字符串。今天我們將介紹如何使用PHP編寫程序實現將字符串轉換為16進制,并且反向輸出字符串的過程。
1. 字符串轉換為16進制
首先,我們需要編寫一個函數來實現將字符串轉換為16進制的功能。下面是PHP代碼示例:
function strToHex($string){
$hex = '';
for ($i=0; $i < strlen($string); $i++){
$hex .= dechex(ord($string[$i]));
}
return $hex;
}
// 測試
$str = "Hello, World!";
$hex = strToHex($str);
echo "字符串轉換為16進制:".$hex;
登錄后復制
在上面的代碼中,strToHex函數接受一個字符串作為參數,然后使用ord函數將每個字符轉換為ASCII值,再使用dechex函數將ASCII值轉換為16進制表示。最后將所有的16進制字符串拼接起來輸出。
2. 16進制轉換為字符串
接下來,我們需要編寫一個函數來實現將16進制轉換為字符串的功能。代碼如下:
function hexToStr($hex){
$string = '';
for ($i=0; $i < strlen($hex)-1; $i+=2){
$string .= chr(hexdec($hex[$i].$hex[$i+1]));
}
return $string;
}
// 測試
$hex = "48656c6c6f2c20576f726c6421";
$str = hexToStr($hex);
echo "16進制轉換為字符串:".$str;
登錄后復制
在上面的代碼中,hexToStr函數接受一個16進制字符串作為參數,然后將連續的兩個16進制字符組合起來轉換為ASCII值,再使用chr函數將ASCII值轉換為對應的字符。拼接所有字符得到最終的字符串輸出。
3. 完整代碼示例
將上面的兩個函數整合到完整的PHP腳本中,如下所示:
function strToHex($string){
$hex = '';
for ($i=0; $i < strlen($string); $i++){
$hex .= dechex(ord($string[$i]));
}
return $hex;
}
function hexToStr($hex){
$string = '';
for ($i=0; $i < strlen($hex)-1; $i+=2){
$string .= chr(hexdec($hex[$i].$hex[$i+1]));
}
return $string;
}
// 測試
$str = "Hello, World!";
$hex = strToHex($str);
echo "字符串轉換為16進制:".$hex."
";
$reversedStr = hexToStr($hex);
echo "反向輸出字符串:".$reversedStr;
登錄后復制
通過以上的代碼示例,我們可以實現字符串和16進制之間的相互轉換,并且能夠反向輸出字符串。這樣的功能在數據加密、數據傳輸等方面經常會用到,希望對你有所幫助。






