WideCharConversionType Enumeration

Definition

Namespace: DevCase.Win32.Enums
Assembly: DevCase.net48 (in DevCase.net48.dll) Version: 6.0.0.0 (6.0)
XMLNS for XAML: Not mapped to an xmlns.
[FlagsAttribute]
public enum WideCharConversionType

Remarks

Members

DiscardNonSpacingChars 16 Discard non-spacing characters during conversion.
SeparateChars 32 Default. Generate separate characters during conversion.
Defaultchar 64 Replace exceptions with the default character during conversion.
ErrorInvalidChars 128 Fail (by returning 0 and setting the last-error code to ERROR_NO_UNICODE_TRANSLATION) if an invalid input character is encountered.

If this flag is not set, the function replaces illegal sequences with U+FFFD (encoded as appropriate for the specified codepage) and succeeds by returning the length of the converted string.

Note that this flag only applies when codePage parameter is specified as UTF8 or 54936. It cannot be used with other code page values.

CompositeCheck 512 Convert composite characters, consisting of a base character and a nonspacing character, each with different character values.

Translate these characters to precomposed characters, which have a single character value for a base-nonspacing character combination. For example, in the character è, the e is the base character and the accent grave mark is the nonspacing character.

Your application can combine CompositeCheck with any one of the following flags:

Defaultchar, DiscardNonSpacingChars and SeparateChars

These flags determine the behavior of the function when no precomposed mapping for a base-nonspacing character combination in a Unicode string is available. If none of these flags is supplied, the function behaves as if the SeparateChars flag is set.

NoBestFitChars 1,024 Translate any Unicode characters that do not translate directly to multibyte equivalents to the default character specified by defaultChar parameter.

In other words, if translating from Unicode to multibyte and back to Unicode again does not yield the same Unicode character, the function uses the default character.

This flag can be used by itself or in combination with the other defined flags.

For strings that require validation, such as file, resource, and user names, the application should always use the NoBestFitChars flag.

This flag prevents the function from mapping characters to characters that appear similar but have very different semantics.

In some cases, the semantic change can be extreme. For example, the symbol for "∞" (infinity) maps to 8 (eight) in some code pages.

See Also