Очень хочу разобраться со всеми UNICODE-ными прибамбасами. Облазил весь инет и перерыл все книжки дома. В результате в голове сложилось что-то сумбурное. Поэтому имеются три кучки вопросов.
Единственное, в чем я уверен на 100 процентов: любой символ в компьютере кодируется числом. Есть алфавиты, все символы которых помещаются в один байт, а например китайские — не помещаются — из-за них собственно и было все это придумано.
Далее все в тумане.
Итак. Первая кучка вопросов касается терминологии.
1) Везде написано "стандарт ANSI" , "стандарт UNICODE" — и не расшифровывается что это такое. А что это такое? Это какие-то таблицы соответствия символа и кода? А сколько таких таблиц в этих двух стандартах и где на них можно глянуть?
2) Есть строка кодов. Однозначно ли по ней определяется строка символов? Если нет, то как это обходят?
Вторая кучка вопросов качается различных Windows и отображения строк в них
3) Итак. В Windows95-95 нету UNICODE. Но скорее всего китайские версии этих ОС существуют. Как же этого добились?
4) Как работаю программы скомпилированные с UNICODE под WINDOWS95-98
5) Есть две функции WideCharStringToMultiByteString и MultiByteStringToWideCharString. Что они из себя представляют? Как работаюют внутри?
6) Как происходит процесс отображения строки на экран в различных ОС?
7) Например, я написал в программе MessageBoxA("HelloWorld"). Эта Строка будет нормально отображаться под любыми виндами с любым языком? У китайцев будет? А если написал MessageBoxW("HelloWorld")??
8) Если я написал MessageBoxA("Привет"), то при каких условиях эта строка будет нормально отображаться? Что нужно сделать и возможно ли вообще это чтобы это "Привет" выглядело ВСЕГДА и ВЕЗДЕ и на всех версиях WINDOWS одинаково (то есть не как "??????").
Третья кучка вопросов касается ресурсов программы и в частности строковых ресурсов
9) Что значит в указании проекта, что ресурсы например Русские? Как это на что влияет? Это я так понимаю не дает гарантии, что все будет нормально?
10) Как узнать у ОС, Что она может нормально отобразить ту или иную сстроку?
Ну самое главное что я хочу понять — как использовать этот самый UNICODE, чтобы моя "привет" на всех машинах была именно "привет"-ом, а не "??????"-ом