19 июля 2011
это термин, относящийся к программированию. Он используется для обозначения символьного типа данных, который шире традиционных 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 представляет собой символы в кодировке UTF-16.
В GNU/Linux тип wchar_t имеет размер 32 бита.
В библиотеке ANSI C за широкие символы отвечают заголовочные файлы <wchar.h> и <wctype.h>.
Просмотров: 1478
|