MultiByteToWideChar: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: __NOTOC__ Die API-Funktion MultiByteToWideChar konvertiert einen einbyte/mehrbyte-Character-String in einen Wide-Character-Unicode-String. <code vb> Declare Funct...)
 
Zeile 18: Zeile 18:
  
 
''CodePage''
 
''CodePage''
:die Codepage die bei der Konversion verwendet werden soll. Es kann jede im System installierte Codepage verwendet werden oder bspw eine aus der folgenden Liste:
+
: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 zeigt mögliche Werte
+
die Liste ist nicht vollständig sie zeigt mögliche Werte
 
<code vb>
 
<code vb>
 
Private Const CP_ACP        As Long = 0    'ANSI Code Page
 
Private Const CP_ACP        As Long = 0    'ANSI Code Page
Zeile 32: Zeile 32:
  
 
''dwFlags''
 
''dwFlags''
:Es kann eiinen Kombination aus folgenden Flags verwendet werden
+
:Es kann eine Kombination aus folgenden Flags verwendet werden
 
<code vb>
 
<code vb>
 
Private Const MB_PRECOMPOSED      As Long = &H1 'Always use precomposed characters — that is, characters in
 
Private Const MB_PRECOMPOSED      As Long = &H1 'Always use precomposed characters — that is, characters in
Zeile 53: Zeile 53:
 
''cchMultiByte''
 
''cchMultiByte''
 
:[in] Größe, in Bytes, des Strings der konvertiert werden soll.  
 
:[in] Größe, in Bytes, des Strings der konvertiert werden soll.  
ist dieser Wert –1, wird vorausgesetzt da´ß der String Null-terminiert ist und die Länge wird automatisch ermittelt.
+
ist dieser Wert –1, wird vorausgesetzt dass der String Null-terminiert ist und die Länge wird automatisch ermittelt.
 
''lpWideCharStr''
 
''lpWideCharStr''
 
:[out] Zeiger auf einen Puffer der den übersetzten String empfängt.
 
:[out] Zeiger auf einen Puffer der den übersetzten String empfängt.
Zeile 61: Zeile 61:
  
 
==Rückgabe(n)==
 
==Rückgabe(n)==
Anzahl der Wide-Characters die in den Puffer geschrieben wurden, wenn die Function erfporlgreich war und cchWideChar ist <> Null.
+
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.
 
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==
 
==[OPTIONAL] Beispiel==
Zeile 85: Zeile 102:
 
*Windows Vista (nur x64)
 
*Windows Vista (nur x64)
 
*Windows Mobile
 
*Windows Mobile
*"Windows Embedded CE
+
*Windows Embedded CE
  
 
==[OPTIONAL] Verwandte Funktionen==
 
==[OPTIONAL] Verwandte Funktionen==

Version vom 21. Oktober 2008, 18:51 Uhr

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)