在PHP 中,可以使用兩個函數來實現字串和十六進位表示之間的轉換:strToHex() 和hexToStr() 。然而,在使用 XOR 進行加密時,會出現一個常見的挑戰,轉換後的十六進位值會產生不正確的結果。
使用提供的 strToHex() 和 hexToStr 時()函數在二進位字串(“這是測試”)與其十六進位表示形式(12181d15501d15500e15541215712)之間進行轉換,產生的解碼字串(“↕↑↔§P↔§P♫§T↕§q”)與
為了實現輕鬆的替代方案,PHP 提供了用於在二進位字串和十六進位表示之間進行轉換的內建函數:
使用範例:
$binaryString = "that's all you need"; $hexRepresentation = bin2hex($binaryString); // Result: 74686174277320616c6c20796f75206e656564 $decodedBinaryString = hex2bin($hexRepresentation); // Result: that's all you need
這些內建函數提供可靠且準確的轉換,消除了使用自訂函數時遇到的不一致問題。
以上是為什麼我的 PHP 字串到十六進位和十六進位到字串轉換會產生不正確的結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!