Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 29.07.2010, 12:03   #1
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Аналог chr() для utf8

Имеется код символа Utf-8, нужно получить сам символ.
Для этого использую массив с символами:
utf8[192]:='А';
utf8[193]:='Б';
utf8[194]:='В';
utf8[195]:='Г';
utf8[196]:='Д';
utf8[197]:='Е';
utf8[198]:='Ж';
utf8[199]:='З';
utf8[200]:='И';
utf8[201]:='Й';
utf8[202]:='К';
utf8[203]:='Л';
utf8[204]:='М';
..........
Возможно есть какой нибудь другой способ?
__________________
(Offline)
 
Ответить с цитированием
Старый 29.07.2010, 12:43   #2
GRAY_WOLF
Разработчик
 
Аватар для GRAY_WOLF
 
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений
(для 93 пользователей)
Ответ: Аналог chr() для utf8

Возможно. В хелпе это есть.
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
(Offline)
 
Ответить с цитированием
Старый 29.07.2010, 13:08   #3
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Аналог chr() для utf8

В каком хелпе? МП? Там такого нет.
__________________
(Offline)
 
Ответить с цитированием
Старый 29.07.2010, 13:19   #4
cHeRsAnYa
ПроЭктировщик
 
Регистрация: 18.12.2007
Сообщений: 157
Написано 24 полезных сообщений
(для 27 пользователей)
Ответ: Аналог chr() для utf8

В этом массиве не UTF-8 коды, а cp-1251 UTF-8 кодирует русские буквы двумя байтами.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
SBJoker (29.07.2010)
Старый 29.07.2010, 13:58   #5
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Аналог chr() для utf8

я в кодировках не шарю, коды брал из таблицы, там написано что utf8.
__________________
(Offline)
 
Ответить с цитированием
Старый 29.07.2010, 14:09   #6
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: Аналог chr() для utf8

для оптимизиции конвертировки обычно находят одинаковые последовательности кодов в таблицах и проверяют по ним: if (c>=192) and (c<=...) then c:=c+(1040-192)

прим: при получении символа cp1251 или др. на всякий случай делай с:=c and $FF, т.к. иногда в верхних байтах бывает мусор
(Offline)
 
Ответить с цитированием
Старый 29.07.2010, 14:24   #7
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Аналог chr() для utf8

В общем слово в таком формате
%CC%EE%F1%EA%E2%E0
необходимо преобразовать в нормальный вид.
я выбираю 2 символа после % и преобразовываю из HEX в DEC систему, а потом беру символ из массива.
Так то мой способ работает, но может можно сделать как то проще?
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 01:44.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com