Functions > VarConv >


BinaryToString

Convertit une variable de type binaire en une cha�ne de caract�re.

BinaryToString ( expression [, flag = 1] )

Param�tres

expression Une expression binaire � convertir en cha�ne.
flag [optionnel] Change la mani�re dont les donn�es binaires sont converties:
    $SB_ANSI (1) = les donn�es binaires sont encod�es en ANSI (par d�faut)
    $SB_UTF16LE (2) = les donn�es binaires sont encod�es en UTF16 Little Endian
    $SB_UTF16BE (3) = les donn�es binaires sont encod�es en UTF16 Big Endian
    $SB_UTF8 (4) = les donn�es binaires sont encod�es en UTF8

Les constantes sont d�finies dans StringConstants.au3.

Valeur de retour

Succ�s: Retourne la repr�sentation cha�ne de la variable binaire.
�chec: Retourne une cha�ne vide et d�finit @error <> 0:
@error: 1 = La cha�ne d'entr�e a une longueur nulle.
2 = La cha�ne d'entr�e a un nombre impair d'octets, mais devait �tre un codage UTF16 (donc devait contenir un nombre pair d'octets pour �tre un codage UTF16 valide).

Remarque

Contrairement � String() qui retourne une repr�sentation hexad�cimale des donn�es binaires, cette fonction suppose qu'une donn�e binaire est une valeur cha�ne et la convertira de mani�re appropri�e.
Consultez "Support Unicode" pour une description d�taill�e.

En relation

Binary, IsBinary, String, StringToASCIIArray, StringToBinary

Exemple

#include <MsgBoxConstants.au3>
#include <StringConstants.au3>

Example()

Func Example()
    ; D�finit la cha�ne qui sera converti plus tard.
    ; NOTE : Cette cha�ne peut appara�tre comme ?? dans le fichier d'aide et m�me dans certains �diteurs.
    ; Cet exemple est enregistr� au format UTF-8 avec BOM. Il devrait s'afficher correctement dans les �diteurs
    ; qui prennent en charge la modification des pages de code bas�e sur les BOMs.
    Local Const $sString = "Hello - 你好"

    ; Les variables temporaires utilis�es pour stocker les r�sultats de conversion. $dBinary contiendra
    ; la cha�ne d'origine sous forme binaire et $sConverted contiendra le r�sultat
    ; apr�s qu'il ait �t� converti  � nouveau au format original.
    Local $dBinary = Binary(""), $sConverted = ""

    ; Convertit la cha�ne d'origine UTF-8 en une cha�ne binaire compatible ANSI.
    $dBinary = StringToBinary($sString)

    ;Convertit la cha�ne binaire compatible ANSI en une cha�ne.
    $sConverted = BinaryToString($dBinary)

    ; Affiche les r�sultats. Notez que les deux derniers caract�res s'affichent
    ; comme ?? car ils ne peuvent pas �tre repr�sent�s dans la norme ANSI.
    DisplayResults($sString, $dBinary, $sConverted, "ANSI")

    ;Convertit la cha�ne d'origine UTF-8 en une cha�ne binaire UTF16-LE.
    $dBinary = StringToBinary($sString, 2)

    ; Convertit la cha�ne binaire UTF16-LE en une cha�ne.
    $sConverted = BinaryToString($dBinary, 2)

    ; Affiche les r�sultats.
    DisplayResults($sString, $dBinary, $sConverted, "UTF16-LE")

    ;Convertit la cha�ne d'origine UTF-8 en une cha�ne binaire UTF16-BE.
    $dBinary = StringToBinary($sString, 3)

    ;Convertit la cha�ne binaire  UTF16-BE en une cha�ne.
    $sConverted = BinaryToString($dBinary, 3)

    ; Affiche les r�sultats.
    DisplayResults($sString, $dBinary, $sConverted, "UTF16-BE")

    ;Convertit la cha�ne d'origine UTF-8 en cha�ne binaire UTF-8.
    $dBinary = StringToBinary($sString, 4)

    ;Convertit la cha�ne binaire UTF8 en une cha�ne.
    $sConverted = BinaryToString($dBinary, 4)

    ; Affiche les r�sultats.
    DisplayResults($sString, $dBinary, $sConverted, "UTF8")
EndFunc   ;==>Example

;Fonction d'aide qui formate le message pour l'affichage. Elle prend les param�tres suivants :
;$sOriginal - La cha�ne d'origine avant la conversion.
;$dBinary - La cha�ne d'origine apr�s qu'elle ait �t� converti en binaire.
;$sConverted- La cha�ne apr�s qu'elle ait �t� converti en binaire, puis de nouveau en une cha�ne.
;$sConversionType - Un nom convivial humain pour le type de codage utilis� pour la conversion.
Func DisplayResults($sOriginal, $dBinary, $sConverted, $sConversionType)
    MsgBox($MB_SYSTEMMODAL, "", "Original:" & @CRLF & $sOriginal & @CRLF & @CRLF & "Binary:" & @CRLF & $dBinary & @CRLF & @CRLF & $sConversionType & ":" & @CRLF & $sConverted)
EndFunc   ;==>DisplayResults