System.Classes.HexToBin
Delphi
function HexToBin(const Text: PChar; TextOffset: Integer;
var Buffer: TBytes; BufOffset: Integer; Count: Integer): Integer; overload;
function HexToBin(const Text: TBytes; TextOffset: Integer;
var Buffer: TBytes; BufOffset: Integer; Count: Integer): Integer;
function HexToBin(Text: PWideChar; Buffer: Pointer; BufSize: Integer): Integer;
function HexToBin(const Text: PWideChar; var Buffer; BufSize: Integer): Integer;
function HexToBin(Text: PAnsiChar; Buffer: PAnsiChar; BufSize: Integer): Integer;
function HexToBin(Text: PWideChar; Buffer: PAnsiChar; BufSize: Integer): Integer;
function HexToBin(Text: PAnsiChar; var Buffer; BufSize: Integer): Integer;
function HexToBin(const Text: PAnsiChar; Buffer: Pointer; BufSize: Integer): Integer;
C++
extern DELPHI_PACKAGE int __fastcall HexToBin(const System::WideChar * Text, int TextOffset, System::DynamicArray<System::Byte> &Buffer, int BufOffset, int Count)/* overload */;
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
function | public | System.Classes.pas System.Classes.hpp |
System.Classes | System.Classes |
Description
Convertit une chaîne de chiffres hexadécimaux en la valeur binaire correspondante.
Appelez HexToBin pour convertir la chaîne hexadécimale Text
en la valeur binaire qu'elle représente.
Cette fonction reçoit les paramètres suivants :
Paramètre | Description |
---|---|
|
Pointeur vers une chaîne représentant une valeur hexadécimale. Par exemple : "1decaf".
|
|
Nombre de caractères à ignorer au début de la chaîne d'entrée. Par exemple, si |
|
Pointeur sur un tableau d'octets qui recevra la valeur de la chaîne d'entrée hexadécimale. Par exemple, pour la chaîne "1decaf" en entrée, la valeur binaire en sortie devrait être |
|
Nombre d'octets à ignorer au début tableau d'octets en sortie. Par exemple, si |
|
Nombre d'octets (paires de caractères hexadécimaux) à convertir en tableau d'octets en sortie.
|
Vous pouvez appeler HexToBin en spécifiant ou en ne spécifiant pas le décalage utilisé pour la chaîne d'entrée (TextOffset
) ou pour le tampon de sortie (BufOffset
). Toutefois, vous devez spécifier les deux décalages ou n'en spécifier aucun.
Lorsque HexToBin trouve un caractère qui n'est pas un caractère hexadécimal, il arrête la conversion et renvoie une valeur. Par exemple, prenons le cas de la chaîne "9abcdefg", HexToBin convertit uniquement "9abcde", car la paire de caractères suivante ("fg") contient un caractère non valide ("g").
La valeur retournée par HexToBin change selon que vous ayez spécifié ou non des décalages dans l'appel à HexToBin :
- Si vous avez spécifié des décalages, la valeur renvoyée correspond au nombre d'octets lus dans la chaîne d'entrée et est écrite en binaire dans
Buffer
. Par exemple, dans le cas de la chaîne "9abcdefg", elle renvoie 3, car elle lit 3 octets ("9abcde", "fg" contient un caractère non valide). - Si vous n'avez pas spécifié des décalages, la valeur renvoyée correspond au nombre d'octets n'ayant pas été lus dans la chaîne d'entrée et est écrite en binaire dans
Buffer
(BufSize
- octets écrits dansBuffer
). Par exemple, dans le cas de la chaîne "9abcdefg" et d'unBufSize
égal à 4, elle renvoie 1, car elle lit 3 octets sur les 4 attendus ("9abcde", "fg" contient un caractère non valide).