- Wchar t
-
Широкий символ — это термин, относящийся к программированию. Он используется для обозначения символьного типа данных, который шире традиционных 8-битных символов. Это не то же самое, что Юникод.
wchar_t
— это тип данных стандарта ANSI/ISO C (а также использующийся в других языках программирования) для представления широких символов.Стандарт Unicode 4.0 говорит следующее:
«ANSI/ISO C оставляет семантику широких символов на усмотрение конкретной реализации»
а также
«размер типа
wchar_t
определяется компилятором, вплоть до минимальных 8 бит. Соответственно, приложения, которым требуется сохранять переносимость на различных C и C++ компиляторах, не должны использоватьwchar_t
для хранения Unicode-текста. Типwchar_t
предназначен для хранения широких символов в том виде, в котором их понимают конкретные компиляторы, и это может не соответствовать Юникоду».В Windows API, тип
wchar_t
имеет размер 16 бит. Windows API нарушает стандарт ANSI/ISO C, который требует, что бы символьный типwchar_t
поддерживал все представимые в системе символы в одном объектеwchar_t
. Вместо этого,wchar_t
в Windows представляет собой символы (либо часть символа) в кодировке Unix-системах типwchar_t
имеет размер 32 бита.В библиотеке ANSI C за широкие символы отвечают заголовочные файлы <
Ссылки
Wikimedia Foundation. 2010.