![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Транслит [D7, WinXP]
Greenchel © (2006-11-08 22:06:00)Существует строка вида: Ghbdtn
Как перевести в нормальный вид?
guav (2006-11-09 19:16:00) [21]> [55] Percent (09.11.06 19:10)
Таки я про непосредственную подднржку KOI-7 которой нет.
Иначе можно было бы считать, что любая кодировка поддерживается.
Percent (2006-11-09 19:10:00) [22]KOI-8 поддерживается
Сам ответил...
guav (2006-11-09 19:08:00) [23]> [53] Percent (09.11.06 19:04)
Как ?
Приведи пример, или ссылку на документацию.
Какой код её, для начала ?
> [52] Anatoly Podgoretsky © (09.11.06 19:01)
KOI-8 поддерживается (в моём узком понимании термина "поддреживается").
> KOI-7 преобразовывается обратным способом, как превратилось,
> так и обратно.
KOI-7 таки не поддерживается напрямую.
Percent (2006-11-09 19:04:00) [24]KOI-7 не поддерживается windows
Поддерживается.
Anatoly Podgoretsky (2006-11-09 19:01:00) [25]Ты наверно про KOI8, KOI-7 преобразовывается обратным способом, как превратилось, так и обратно.
guav (2006-11-09 18:28:00) [26]Жаль, KOI-7 не поддерживается windows, иначе я знал бы решение в пару строк, но "системное" ;-)
Хотя, может можно установить свою кодировку ;-)
Ketmar (2006-11-09 16:06:00) [27]>[49] Greenchel(c) 9-Nov-2006, 15:52
>А потом перебором? :(
ЧЕГО??? толстый намёк: в магазине хозтоваров есть мётлы.
Greenchel (2006-11-09 15:52:00) [28]
> хинт: массивы
А потом перебором? :(
Ketmar (2006-11-09 15:51:00) [29]а, да. я совсем забыл: это не ты, часом, с английским не дружишь?
Ketmar (2006-11-09 15:51:00) [30]>[46] Greenchel(c) 9-Nov-2006, 15:32
никогда больше такое не показывай. трудолюбивость, применённая не к тому -- это хуже. чем лень.
хинт: массивы.
Greenchel (2006-11-09 15:32:00) [31]
if s='q' then s='й'
if s='w' then s='ц'
if s='e' then s='у'
if s='r' then s='к'
if s='t' then s='е'
if s='y' then s='н'
if s='u' then s='г'
if s='i' then s='ш'
if s='o' then s='щ'
if s='p' then s='з'
if s='[' then s='х'
if s=']' then s='ъ'
if s='a' then s='ф'
if s='s' then s='ы'
if s='d' then s='в'
if s='f' then s='а'
if s='g' then s='п'
if s='h' then s='р'
if s='j' then s='о'
if s='k' then s='л'
if s='l' then s='д'
if s=';' then s='ж'
if s=''' then s='э'
if s='z' then s='я'
if s='x' then s='ч'
if s='c' then s='с'
if s='v' then s='м'
if s='b' then s='и'
if s='n' then s='т'
if s='m' then s='ь'
if s=',' then s='б'
if s='.' then s='ю'
if s='/' then s='.'
if s='Q' then s='Й'
if s='W' then s='Ц'
if s='E' then s='У'
if s='R' then s='К'
if s='T' then s='Е'
if s='Y' then s='Н'
if s='U' then s='Г'
if s='I' then s='Ш'
if s='O' then s='Щ'
if s='P' then s='З'
if s='A' then s='Ф'
if s='S' then s='Ы'
if s='D' then s='В'
if s='F' then s='А'
if s='G' then s='П'
if s='H' then s='Р'
if s='J' then s='О'
if s='K' then s='Л'
if s='L' then s='Д'
if s='Z' then s='Я'
if s='X' then s='Ч'
if s='C' then s='С'
if s='V' then s='М'
if s='B' then s='И'
if s='N' then s='Т'
if s='M' then s='Д'
Вот по такому типу нужна функция замени, никак не пойму как реализовать :(
Anatoly Podgoretsky (2006-11-09 14:48:00) [32]> Reindeer Moss Eater (09.11.2006 14:33:42) [42]
Нет у тебя KOI-8
Отрежание бита к этому не относится, после отрезания бита это уже не KOI-8.
Ketmar (2006-11-09 14:35:00) [33]кстати. не заметил я сразу (кому-то повезло). какое отношение поле "сабж" имеет к [0]? %-)
Ketmar (2006-11-09 14:34:00) [34]>[38] han_malign(c) 9-Nov-2006, 13:38
>VkKeyScanEx
>MapVirtualKeyEx
VkKeyScanExW(), ToUnicodeEx().
%-) ну и CharUpperW() как финальный штрих.
я бы даже код дал, но сильно сомневаюсь, что автору вопроса поможет ассемблерный исходник. %-)
Reindeer Moss Eater (2006-11-09 14:33:00) [35]А если у меня в настройках почтового клиента указано, что слать почту как кои8-р, то это тоже на самом деле кои7?
Anatoly Podgoretsky (2006-11-09 14:19:00) [36]> Reindeer Moss Eater (09.11.2006 14:13:40) [40]
> рабочая легенда
А теперь реальность, обрезав старший бит ты превращаешь в KOI-7
Reindeer Moss Eater (2006-11-09 14:13:00) [37]рабочая легенда
win-1251 : "привет мир!"
Преобразуем в кои8-р
и далее каждому байту делаем and $7F
Получаем "PRIWET MIR!"
Anatoly Podgoretsky (2006-11-09 13:59:00) [38]
> Reindeer Moss Eater © (09.11.06 13:36) [37]
Это легенда, а правда такая - был KOI-7 а KOI-8 сделан по анологии, но так как стыдно было признаться, то была придумана легенда.
han_malign (2006-11-09 13:38:00) [39]VkKeyScanEx
MapVirtualKeyEx
Reindeer Moss Eater (2006-11-09 13:36:00) [40]>[33] Reindeer Moss Eater(c) 9-Nov-2006, 13:23
???
Да вроде все верно.
кои8р был придуман спецом для борьбы с почтовыми серверами откусывающими старший бит у символов письма.
Если в письме есть русская "Р" то после откусывания старшего бита она превратится в латинскую "Р" и текст останется читабельным.
Я же просто предложил проделать обратное.