MultiByteToWideChar

Aus API-Wiki
Zur Navigation springenZur Suche springen

Die API-Funktion MultiByteToWideChar konvertiert einen einbyte/mehrbyte-Character-String in einen Wide-Character-Unicode-String.

Declare Function MultiByteToWideChar lib "kernel32.dll" ( _

                ByVal CodePage As Long, _
                ByVal dwFlags As Long, _
                ByVal lpMultiByteStr As String, _
                ByVal cchMultiByte As Long, _
                ByVal lpWideCharStr As String, _
                ByVal cchWideChar As Long) As Long


Parameter

CodePage

die Codepage die bei der Konversion verwendet werden soll. Es kann jede im System installierte Codepage verwendet werden oder eine aus der folgenden Liste:

die Liste ist nicht vollständig sie zeigt mögliche Werte Private Const CP_ACP As Long = 0 'ANSI Code Page Private Const CP_OEMCP As Long = 1 'OEM code page 'Private Const CP_MACCP As Long = 2 'Not supported 'Private Const CP_THREAD_ACP As Long = 3 'Not supported 'Private Const CP_SYMBOL As Long = 42 'Not supported Private Const CP_ANSI As Long = 1252 'Windows-1252 Private Const CP_UTF7 As Long = 65000 'UTF-7 code page Private Const CP_UTF8 As Long = 65001 'UTF-8 code page

dwFlags

Es kann eine Kombination aus folgenden Flags verwendet werden

Private Const MB_PRECOMPOSED As Long = &H1 'Always use precomposed characters — that is, characters in

                                                'which a base character and a nonspacing character have a
                                                'single character value. This is the default translation option.
                                                'Cannot be used with MB_COMPOSITE.

Private Const MB_COMPOSITE As Long = &H2 'Always use composite characters — that is, characters in

                                                'which a base character and a nonspacing character have
                                                'different character values. Cannot be used with MB_PRECOMPOSED.

Private Const MB_USEGLYPHCHARS As Long = &H4 'Use glyph characters instead of control characters

Private Const MB_ERR_INVALID_CHARS As Long = &H8 'If the function encounters an invalid input character,

                                                'it fails and Err.LastDllError returns ERROR_NO_UNICODE_TRANSLATION.

lpMultiByteStr

[in] Zeiger zum Character String der konvertiert werden soll.

cchMultiByte

[in] Größe, in Bytes, des Strings der konvertiert werden soll.

ist dieser Wert –1, wird vorausgesetzt dass der String Null-terminiert ist und die Länge wird automatisch ermittelt. lpWideCharStr

[out] Zeiger auf einen Puffer der den übersetzten String empfängt.

cchWideChar

[in] Größe, in Wide-Characters, des Puffers der den übersetzten String enthält.

Wenn hier Null übergeben wird, liefert die Funktion die erforderliche Größe in Wide-Characters zurück, aber es wird noch nichts übersetzt.

Rückgabe(n)

Anzahl der Wide-Characters die in den Puffer geschrieben wurden, wenn die Function erfolgreich war und cchWideChar ist <> Null. Anmerkung: die zurückgegebene Länge enthält ein Null-Terminierungs-Zeichen.

Zero indicates failure. To get extended error information, call GetLastError. Possible values for GetLastError include the following:

ERROR_INSUFFICIENT_BUFFER ERROR_INVALID_FLAGS ERROR_INVALID_PARAMETER ERROR_NO_UNICODE_TRANSLATION

Remarks If lpMultiByteStr and lpWideCharStr pointers are the same, the function fails, and GetLastError returns the value ERROR_INVALID_PARAMETER. The function fails if MB_ERR_INVALID_CHARS is set and it encounters an invalid character in the source string. An invalid character is one that would translate to the default character if MB_ERR_INVALID_CHARS was not set, but is not the default character in the source string, or when a lead byte is found in a string and there is no valid trail byte for DBCS strings. When an invalid character is found, and MB_ERR_INVALID_CHARS is set, the function returns 0 and sets GetLastError with the error ERROR_NO_UNICODE_TRANSLATION.

[OPTIONAL] Beispiel

'Beispielcode...


[OPTIONAL] Hinweise

Diese Funktion setzt die ABC - Runtime Environment voraus. Diese ist kostenlos erhältlich unter: [Adresse].


[OPTIONAL] Betriebsystem

Die Funktion ist unter folgenden Betriebssystemen funktionsfähig:

  • Windows NT 4.0
  • Windows NT 5.0 (2000)
  • Windows XP (ab SP2)
  • Windows Vista (nur x64)
  • Windows Mobile
  • Windows Embedded CE

[OPTIONAL] Verwandte Funktionen

Api1 - Beschreibung
Api2 - Beschreibung Unicode Functions [MSDN-Link: http://msdn.microsoft.com/en-us/library/aa914568.aspx] WideCharToMultiByte [MSDN-Link: http://msdn.microsoft.com/en-us/library/aa908730.aspx] IsDBCSLeadByte [MSDN-Link: http://msdn.microsoft.com/en-us/library/aa908969.aspx]


Verweise


[PFLICHT] Quelle(n)