Нормализация Unicode в Windows

Я использую "строки Unicode" в Windows с тех пор, пока ... Я узнал о Unicode (например, после выпуска). Однако меня всегда озадачивало то, что Win32API очень слабо упоминает «юникод». В частности, вариант «юникода», упомянутый MSN, - это UTF-16 (хотя терминология «широкий символ» исходит из того факта, что раньше он был UCS-2, а не Unicode). Однако в нем почти не упоминается нормализация Unicode.

В MSN есть несколько страниц о Unicode и формах нормализации Unicode и функциях изменения формы нормализации . На странице о нормализации даже говорится:

Win32 и .NET Framework поддерживают все четыре формы нормализации.

Однако я нигде в документации не нашел, какая форма нормализации используется (или понимается) Win32 API.

Вопрос 1 : какая форма нормализации используется по умолчанию для пользовательского ввода (например, элемента управления Edit) и преобразования с помощью MultiByteToWideChar () ?

Вопрос 2 : должен ли строки, передаваемые функциям Win32API, имеют определенную форму нормализации или не зависят от нормализации ядра и файловой системы?

23
задан Deduplicator 19 September 2015 в 03:57
поделиться