Convertit une chaîne UTF-16 (caractères larges) en une chaîne multi-octets
#include <WinAPIConv.au3>
_WinAPI_WideCharToMultiByte ( $vUnicode [, $iCodePage = 0 [, $bRetNoStruct = True [, $bRetBinary = False]]] )
$vUnicode | Chaîne, DllStruct ou Pointeur sur une structure de tableau d'octets contenant le texte à convertir |
$iCodePage | [optionnel] La page de code à utiliser dans la conversion: 0 - La page de code Windows ANSI du système actuel 1 - La page de code OEM du système actuel 2 - La page de code Macintosh du système actuel 3 - La page de code Windows ANSI pour le thread courant 42 - La page de code Symbol 65000 - UTF-7 65001 - UTF-8 |
$bRetNoStruct | [optionnel] Flag qui indique s'il faut retourner une String/Binary ou une DllStruct (par défaut True: String/Binary) |
$bRetBinary | [optional] Flag qui indique s'il faut retourner une Binary String ou une String (par défaut False: String) |
Succès: | Retourne un string/binary ou une DllStruct contenant une string/binary multi-octets |
Échec: | Définit @error <> 0, appelez _WinAPI_GetLastError() pour obtenir des informations supplémentaires sur l'erreur. |
Mappe une chaîne UTF-16 (caractères larges) en une nouvelle chaîne de caractère.
La nouvelle chaîne de caractères ne provient pas nécessairement d'un jeu de caractères multi-octets.
Le flag $bRetBinary est conçu pour les utilisateurs de pages de codes multi-octets et force la fonction à retourner une chaîne binaire terminée par 0 ou une structure la contenant en fonction de $bRetNoStruct.
Le flag $bRetNoStruct détermine si la fonction doit retourner uniquement la string/binary ou la structure entière.
Consultez WideCharToMultiByte dans la librairie MSDN.
#include <WinAPIConv.au3> Global Const $CP_SHIFT_JIS = 932 Local $sTest Local $sText = "データのダウンロードに失敗しました。" $sTest = _WinAPI_WideCharToMultiByte($sText, $CP_SHIFT_JIS, True, False) MsgBox($MB_SYSTEMMODAL, "Title Sring",$sText & @CRLF & VarGetType($sTest) & " " & StringLen($sTest) & ": '" & $sTest & "'") $sTest = _WinAPI_WideCharToMultiByte($sText, $CP_SHIFT_JIS, True, True) MsgBox($MB_SYSTEMMODAL, "Title Binary",$sText & @CRLF & VarGetType($sTest) & " " & StringLen($sTest) & ": '" & $sTest & "'")