Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
Определения типа символа
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Определения типа символа (Прочитано 16089 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Charaware
Гость
Определения типа символа
«
:
19-04-2004 09:46 »
Подкажите кто знает как определить
1) является ли символ Unicode символом
2) Как определить и различить является ли символ rus или eng кодировкой
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
Определения типа символа
«
Ответ #1 :
19-04-2004 09:56 »
1. Юниокд = 2 байта на символ!
2. Дык у каждого символа как Юникоде так и в Аски есть свой номер - для языклв группаномеров (кодов)
Обычным if (simbol > start_leng_group) && (simbol < stop_leng_group)
Можно проверить входит ли полученный символ в группу принадлежащую к языку!!!!
Записан
А птичку нашу прошу не обижать!!!
RXL
Технический
Администратор
Offline
Пол:
Определения типа символа
«
Ответ #2 :
19-04-2004 10:26 »
Charaware
, английские - в диапазоне <0x80, русские - выше.
Или задача распознать кодировку?
Текст в unicode-е имеет такое свойство: в слове, составленном из букв одного языка, каждый второй байт один и тот же. Русская страница 0x05.
8-мибитные кодировки распознаются статистически: сделать гистограмму и на основе нее определить, кодировку. К сожалению, статистические методы не дают 100%.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Lex
Специалист
Offline
Определения типа символа
«
Ответ #3 :
19-04-2004 11:31 »
Цитата
К сожалению, статистические методы не дают 100%.
Угу, особенно при коротких сообщениях
Записан
Megabyte be with you!
Kuzmich
Гость
Определения типа символа
«
Ответ #4 :
19-04-2004 11:50 »
есть функция IsTextUnicode, но думаю буковку она не определит, использует статистические методы.
Charaware
, ты уверен, что тебе определить надо именно одну букву ?
Записан
Anonymous
Гость
Определения типа символа
«
Ответ #5 :
19-04-2004 12:01 »
Все таки может скажите какие
функции winapi могут это сделать
а ту проверять не хочеться сколько байт ...
1)проверить является ли символ Unicode символом
2)и определить является ли символ rus или eng кодировкой
Записан
Anonymous
Гость
Определения типа символа
«
Ответ #6 :
19-04-2004 12:08 »
Charaware, ты уверен, что тебе определить надо именно одну букву ?
Kuzmich
мне надо определить сивол буквы
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
Определения типа символа
«
Ответ #7 :
19-04-2004 12:11 »
RXL
,
екст в unicode-е имеет такое свойство: в слове, составленном из букв одного языка, каждый второй байт один и тот же.
Это номер страницы языковой кодировки!
Для английского 0х00
Гость
,
1. Если в коде буквы 2 байта - это юникод - какие методы???
Если это юникод то 0х00 в первом байте кода обозначает английскую страницу кодировки!!!
Все же ясно сказано...
Ребята - какая статистика
Окститесь! Формат данных юникода и аски разный!!!
Записан
А птичку нашу прошу не обижать!!!
RXL
Технический
Администратор
Offline
Пол:
Определения типа символа
«
Ответ #8 :
19-04-2004 12:39 »
Charaware
, ты бы описал свою задачу - наверняка найдется более оптимальный метод.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Charaware
Гость
Определения типа символа
«
Ответ #9 :
22-04-2004 20:31 »
В общем если просто сказать то нужно определить является ли строка
unicode а также нужны функции определения является ли символ unicode
если у кого есть возможность подкажите какие есть для этого функции или макросы которые входят в mfc и atl
Записан
RXL
Технический
Администратор
Offline
Пол:
Определения типа символа
«
Ответ #10 :
23-04-2004 09:13 »
Charaware
, ты это уже говорил, но это не задача, а твое видение ее решения.
Ну как можно говорить о "является ли символ unicode"? Ты сам что ли не знаешь, что ты используешь - однобайтовые символы или двухдайтовые? Трудно тебя понять...
Насчет строк уже писали - см. выше.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
mixa
Гость
Определения типа символа
«
Ответ #11 :
30-04-2004 15:39 »
Вопрос в том, что если ты дашь просто одиночный символ char, то это точно не будет unicode, потому что unicode по определению двухбайтовый - w_char. С одним символом можно сказать что это англиский или спецсимвол, или даже возможно символ какого-нибудь другого языка (причем совершенно не ясно какого). С юникодом и проще и сложнее. Первый байт там определяет номер языка, в второй соответственно букву этого языка. Справедливо было замечено, что для англиского номер языка равен 0. Но мое наблюдение говорит о том, что для всех других кодов языков его значение больше 0х80. Т.е возможно применение такого алгоритма - если мы знаем, что это 100% unicode - если символ меньше 0х80 то это простой англиский символ, если символ 0х00 то следующий символ это англиская буква. Если символ больше 0х80 то это код языка с последующей буквой этого языка. Поправте меня, если я не прав. Только обязательно ткните мордой.
Записан
RXL
Технический
Администратор
Offline
Пол:
Определения типа символа
«
Ответ #12 :
30-04-2004 20:51 »
mixa
, не совсем так. Сходи на
http://www.unicode.org
- там все описано.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
Определения типа символа
Загружается...