
PHP編寫程式實作16進位轉換並反向輸出字串
#在程式設計中,經常會遇到需要將字串轉換為16進位的情況,或需要將16進制數轉換為字串。今天我們將介紹如何使用PHP編寫程式實作將字串轉換為16進制,並且反向輸出字串的過程。
1. 字串轉換為16進位
首先,我們需要寫一個函數來實作將字串轉換為16進位的函數。下面是PHP程式碼範例:
1 2 3 4 5 6 7 8 9 10 11 12 | 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進位轉換為字串的功能。程式碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 | 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腳本中,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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進位之間的相互轉換,並且能夠反向輸出字串。這樣的功能在資料加密、資料傳輸等方面常常會用到,希望對你有幫助。
以上是PHP編寫程式實作16進位轉換並反向輸出字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!