HEX & UNHEX (MySQL)

Uit De Vliegende Brigade
Versie door Jeroen Strompf (overleg | bijdragen) op 1 dec 2019 om 07:05 (→‎Voorbeelden)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

Met hex en unhex converteer je tussen karakters en hun tekencodering. Het is een specifiek geval van de functie conv:

  • hex(n) <-> conv(n, 10, 16)
  • unhex(n) <-> conv(hex(n), 16, 10)

Voorbeelden

Hex-code voor "A"?

mysql> select hex("A");
+----------+
| hex("A") |
+----------+
| 41       |
+----------+
1 row in set (0,00 sec)

En andersom:

mysql> select unhex(41);
+-----------+
| unhex(41) |
+-----------+
| A         |
+-----------+
1 row in set (0,01 sec)

Als de tekens A-F voorkomen in het argument voor unhex, moet het argument een string zijn - Anders krijg je een foutmelding.

Multi-byte-argumenten zijn geen probleem:

mysql> select unhex("e282ac");
+-----------------+
| unhex("e282ac") |
+-----------------+
| €               |
+-----------------+
1 row in set (0,00 sec)

En omgekeerd:

mysql> select hex("blub");
+-------------+
| hex("blub") |
+-------------+
| 626C7562    |
+-------------+
1 row in set (0,00 sec)

Bronnen