HEX & UNHEX (MySQL): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
(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(...') |
|||
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 07: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)