Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
43 / 40 / 2
Регистрация: 21.09.2009
Сообщений: 145
1

100-ый раз про юникод

07.09.2012, 07:27. Показов 1241. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте есть такой кусок кода
C++
1
2
3
4
5
6
7
8
9
10
11
LRESULT CALLBACK LogWndProc(HWND hwnd, UINT Message, UINT wParam, LONG lParam)
{
 .....
       switch (Message){
        case WM_HOOKMESSAGE:
        switch(wParam){
                  int c=wParam; 
                }
          
       }
}
Код символа помещается в с., суть проблемы заключается в том что коды символов для русской раскладки из таблицы юникод 0×0410 (начало) и конец 0x044F,
я пишу коды нажатых символов в файл, для английский букв запись проходит норм, при нажатие русских пишется бред, как можно правильно усовер.этот кусок кода, чтобы рус.буквы нормально обработать?..
неужели придется еще проверять например так
C++
1
2
3
4
5
6
char p;
if((c>0×0410)&&(c<0x044F)) //Проверка на русск.диапазон.
{
    if (c==0x0410) p='A';Русское А
    else if(c==0×0411) p='Б'...и т.д всю таблицу?
}
как все это правильно организовать?.
ссылки по теме таблица юникод.русские символы
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2012, 07:27
Ответы с готовыми решениями:

Ввести массив из 100 целых чисел, сначала вывести встречающиеся несколько раз, а затем те, что встречаются один раз
ввести массив из 100 целых чисел, сначала вывести встречающиеся несколько раз, а затем те, что...

Задача про число 100
Как при помощи 6 девяток записать число 100? Еще один старый баян. 4 из 10

Про печать Epson LQ-100 ESC/ P 2 матричника
Здравствуйте коллеги! Недавно столкнулся с такой загадкой: есть у нас в организации стародревняя...

Монету подбрасывают 100 раз
3. Монету побрасывают 100 раз. Найти вероятность того, что число выпавших гербов окажется больше 43.

1
Модератор
Эксперт по электронике
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
07.09.2012, 23:00 2
fridi, я не уверен но помоему у юникоде другой формат записи
т.е не 0x0410 ='A'
а 0x1004 ='A'
для int соответственно не
0х00000410
а
0х10040000

Добавлено через 9 минут
не все так просто она может менять порядок байт
Порядок байтов

В потоке данных UTF-16 старший байт может записываться либо перед младшим (англ. UTF-16 big-endian), либо после младшего (англ. UTF-16 little-endian). Аналогично существует два варианта четырёхбайтной кодировки — UTF-32BE и UTF-32LE.

Для определения формата представления Юникода в начало текстового файла записывается сигнатура — символ U+FEFF (неразрывный пробел с нулевой шириной), также именуемый меткой порядка байтов (англ. byte order mark, BOM). Это позволяет различать UTF-16LE и UTF-16BE, поскольку символа U+FFFE не существует. Также этот способ иногда применяется для обозначения формата UTF-8, хотя к этому формату и неприменимо понятие порядка байтов. Файлы, следующие этому соглашению, начинаются с таких последовательностей байтов:
UTF-8
EF BB BF
UTF-16BE
FE FF
UTF-16LE
FF FE
UTF-32BE
00 00 FE FF
UTF-32LE
FF FE 00 00
http://ru.wikipedia.org/wiki/Юникод
1
07.09.2012, 23:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2012, 23:00
Помогаю со студенческими работами здесь

за раз копируется не более 100 мб...
Два компьютера соединены напрямую кроссовым кабелем, на одном две сетевухи realtec, на другом одна...

Монета бросается 100 раз
Найти вероятность того, что при 100 подбрасываниях правильной монеты она выпадет гербом вверх от 48...

Еще раз про безопасность
Всем привет:) Прочитала о вирусах для Linux. Все статьи говорят одно и тоже: вирусов под эту ОС...

Ещё раз про удаление
Есть компонент JFusion, хотелось бы его удалить(т.к. в нём код 64), но в управление расширениями...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru