Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Hàm PHP tương đương UNHEX() của MySQL là hex2bin()

Đáp án: hex2bin()

PHP cung cấp hex2bin() để chuyển chuỗi hexadecimal thành binary string, tương đương UNHEX() trong MySQL.

Cú pháp PHP

$bien = hex2bin("chuoi_hex");

Ví dụ PHP

$myFirstValue = hex2bin("7777772E4D7953514C4578616D706C652E636F6D");
var_dump($myFirstValue);  // string(18) "www.MySQLExample.com"

$mySecondValue = hex2bin("416476616E6365644A617661576974684672616D65776F726B");
echo '
'; var_dump($mySecondValue); // string(23) "AdvancedJavaWithFramework"

MySQL UNHEX() - Đối ứng

Trường hợp 1

mysql> SELECT UNHEX("7777772E4D7953514C4578616D706C652E636F6D");
+---------------------------------------------------+
| UNHEX("7777772E4D7953514C4578616D706C652E636F6D") |
+---------------------------------------------------+
| www.MySQLExample.com                              |
+---------------------------------------------------+

Trường hợp 2

mysql> SELECT UNHEX("416476616E6365644A617661576974684672616D65776F726B");
+-------------------------------------------------------------+
| UNHEX("416476616E6365644A617661576974684672616D65776F726B") |
+-------------------------------------------------------------+
| AdvancedJavaWithFramework                                   |
+-------------------------------------------------------------+

Hàm ngược lại: HEX() / bin2hex()

Chuyển đổiMySQLPHP
Binary → HexHEX()bin2hex()
Hex → BinaryUNHEX()hex2bin()

Lưu ý

  • hex2bin() yêu cầu chuỗi hex có độ dài chẵn
  • Chuỗi hex không được chứa tiền tố 0x
  • Kết quả là binary string (có thể chứa byte 0), dùng strlen() không phải count()
  • MySQL UNHEX() trả về VARBINARY

Ứng dụng

  • Lưu trữ dữ liệu binary (hình ảnh, file) dưới dạng hex trong DB
  • Mã hóa/giải mã đơn giản
  • Debug: Xem nội dung hex trong DB