Les Snippets

Connexion

Binaire vers Hexa (BinToHex) et Hexa vers Binaire (HexToBin)

Niveau requis pour utiliser/comprendre cette source : 2 ( Initié )
Créé le 05/07/2008 15:33:46 et initié par f0xi [Liste]
Date de mise à jour : 05/07/2008 15:34:09
Vue : 615
Catégorie(s) : Trucs & Astuces, Algorithme, Chaîne de caractères, Divers
Langages dispo pour ce code :
- Delphi 5



Langage : Delphi 5
Date ajout : 05/07/2008
Posté par f0xi [Liste]
DateMAJ : 05/07/2008
type
   DByte = array[0..1] of byte;
 
 
 { BinToHex
 
   Convertis une donnée binaire vers sa représentation hexadécimal (chaine).
 
   Paramètres :
     Buffer [I] non typé
     Len [I] entier, taille du buffer
     Str [O] chaine, retour
 
   Retour :
     Retourne une chaine (Str) représentant la donnée en hexadécimal.
 }
 procedure BinToHex(const Buffer; const Len: integer; var Str: string);
 var pB : ^byte;
     pR : ^DByte;
     N : integer;
 const
   BTC : array[$0..$F] of byte = ($30,$31,$32,$33,$34,$35,$36,$37,
                                  $38,$39,$41,$42,$43,$44,$45,$46);
 begin
   SetLength(Str, Len shl 1);
   pB := @Buffer;
   pR := @Str[1];
   for N := 0 to Len-1 do
   begin
     pR^[0] := BTC[pB^ shr 4];
     pR^[1] := BTC[pB^ and $0F];
     inc(pR);
     inc(pB);
   end;
 end;
 
 
 { HexToBin
 
   Convertis une chaine representant une donnée en hexadecimal vers une donnée brute.
 
   Parametres :
     Str [I] chaine representant la donnée en hexadecimal
     LenStr [I] entier, taille de la chaine
     Buffer [O] buffer de sortie pour la donnée brute.
 
   Retour :
     Retourne une donnée brute (Buffer) a partir de la chaine Str.
 
   Note : 
     la taille du Buffer doit etre definie avant l'appel a HexToBin, qu'il s'agisse
     d'un pointeur, d'une chaine ou d'un tableau.
 }
 procedure HexToBin(const Str: string; const LenStr: integer; var Buffer);
 var pB   : ^byte;
     pS   : ^DByte;
     LZ,N : integer;
     L,H  : byte;
 begin
   LZ := LenStr shr 1;
 
   pS := @Str[1];
   pB := @Buffer;
   for N := 0 to LZ-2 do
   begin
     case pS^[0] of
       $30..$39 : H := (pS^[0] - $30) shl 4;
       $41..$46 : H := (pS^[0] - $37) shl 4;
       else
         break;
     end;
     case pS^[1] of
       $30..$39 : L := pS^[1] - $30;
       $41..$46 : L := pS^[1] - $37;
       else
         break;
     end;
     pB^ := byte(H or L);
     inc(pS);
     inc(pB);
   end;
 end;
 
 
 

Snippets en rapport avec : Hexadecimal, Convertion, Binaire, Bintohex, Hextobin



Codes sources en rapport avec : Hexadecimal, Convertion, Binaire, Bintohex, Hextobin

{Assembleur} FLOATTOHEX CODE DE BRUNEWS RETRENSCRIS EN ASM PAR MOI
convertis nombre reel en simple et double hexadecimal petit utilitaire pour dévelopeur trés utile a...

{Delphi} CONVERTISSEUR BINAIRE EN INTEL HEX
C'est un convertisseur de fichier binaire en fichier object de type Intel Hexadecimal et vice versa....

{Python} CONVERTISSEUR DECIMAL-BINAIRE-HEXADECIMAL (INTERFACE TKINTER)
Ce programme permet comme son nom l'indique de convertir des nombres (entiers) entre ces 3 bases. To...

{C / C++ / C++.NET} CONVERSION D'ENTIERS DANS LES BASES BINAIRE, HEXADECIMALE, OCTALE, TEST DE NOMBRE PREMIER TRADUCTION LITTERALE
Ce code permet de convertir un entier en binaire, octal ou hexadecimal, de meme il permet de voir si...

{Delphi} DHEX, OUTILS D'AIDE POUR LE DEVELOPPEMENT, TABLE ASCII / DEC / HEX / BIN ...
DHEX est un outils qui permet d'avoir une table ASCII complete avec la representation des caracteres...

{Visual Basic, VB6, VB.NET, VB 2005} CONVERSION DE BASE2 BASE10 BASE16
Bon voila c'est un petit code qui permet la conversion des bases 2 bases 10 et bases 16. Un petit p...

{C / C++ / C++.NET} OBTENIR L'ETAT DES BITS QUI COMPOSENT UN OCTET (CONVERSION XX->BINAIRE)
J'ai regardé très rapidement si la source n'existait pas et je ne l'ai pas trouvé. Je précise que c...

{C# / C#.NET} CONVERTISSEUR DE NOMBRES HEXADÉCIMAUX
Petit utilitaire permettant de convertir un petit peu tout (hexa, decimal, binaire). Il y'a un menu...

{Delphi} COULEUR EN HEXADÉCIMAL ET RVB
Permet de sortir une couleur choisit en hexadéciaml et en RVB(Rouge Vert Bleu). Le choix de la coul...

{C# / C#.NET} CONVERSION EN HÉXA,DÉCIMAL,OCTAL,BINAIRE
Cette petite application permet de convertir des valeurs que vous saisissez dans la base de votre ch...