HEX & UNHEX (MySQL): verschil tussen versies

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken
(Nieuwe pagina aangemaakt met 'Met <code>hex</code> en <code>unhex</code> converteer je tussen karakters en hun tekencodering. Het is een specifiek geval van de functie <code>conv</code>: * hex(...')
 
(Voorbeelden)
 
Regel 41: Regel 41:
 
| €              |
 
| €              |
 
+-----------------+
 
+-----------------+
 +
1 row in set (0,00 sec)
 +
</pre>
 +
 +
En omgekeerd:
 +
 +
<pre>
 +
mysql> select hex("blub");
 +
+-------------+
 +
| hex("blub") |
 +
+-------------+
 +
| 626C7562    |
 +
+-------------+
 
1 row in set (0,00 sec)
 
1 row in set (0,00 sec)
 
</pre>
 
</pre>

Huidige versie van 1 dec 2019 om 06:05

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