Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Кодировка текста (http://forum.oszone.net/showthread.php?t=328854)

8Toxa8 03-08-2017 21:02 2756124

Кодировка текста
 
Не могу понять в какой кодировке текст. Все декодере перерыл так и не понял. Текст выглядит во так: CØEÅATÓ B ÚÝCT¾HH¾X PEÕÜOHAX Ü ÁEÒ ÜCÚOÅÓÒOBAHÜ¥ CÚEÇÜAÅÓH¾X
Это русский текст в текстовом файле локализации игры, но в самой игре он отображается русским шрифтом.

Busla 03-08-2017 21:27 2756130

такие вещи надо в бинарном виде выклыдывать

зачастую, локализаторам не получается использовать стандартные кодировки, т.к. часть необходимых кодов символов уже занята какими-либо спецсимволами

mwz 03-08-2017 21:40 2756132

8Toxa8, очень похоже на не-юникодовый шрифт, символы которого, лежащие в верхней половине кодовой таблицы, в игре интерпретируются как кириллические (так, как это делалось в Win-3.1 и Win95/98).

Но точнее можно было бы сказать если бы вы последовали рекомендации Busla, выложив этот текст в виде тех кодов, которыми он представлен в файле..

Iska 03-08-2017 22:42 2756148

Цитата:

Цитата Busla
такие вещи надо в бинарном виде выклыдывать »

Цитата:

Цитата mwz
выложив этот текст в виде тех кодов, которыми он представлен в файле.. »


8Toxa8, перевожу на русский ;): упакуйте файл:
Цитата:

Цитата 8Toxa8
в текстовом файле локализации »

в архив и приложите к сообщению, либо выложите на RGhost или Яндекс.Диск.

gannet 04-08-2017 06:09 2756204

Могли просто при записи текста на бит сдвинуть или прибавить\вычесть (символы - они тоже числа) - для защиты

8Toxa8 04-08-2017 18:38 2756340

Вот сам файл:

mwz 04-08-2017 22:01 2756373

8Toxa8, примерно что я предполагал — но веселее: не однобайтная, как я думал, а
— двухбайтная кодировка с использованием 00 вместо 04 для русского (т.е. вроде как чистая латиница),
— для представления русских букв, имеющих аналоги по начертанию в латинице, использована латиница,
— для остальных использована доморощенная перекодировка (видимо чтобы не перехлестнуться с символами, используемыми в других местах — как и предположил Busla).

Исходник и результат на скриншоте.

Сдуру сквозную замену проводил в шестнадцатеричном режиме, шестнадцатеричных кодов на ANSI-коды заглавных русских букв: в HEX-редакторе проще было сквозной заменой символа на символ; при замене был невнимателен и вместо З получил Ц (при том, что истинную Ц подставил правильно), а вместо У — мягкий знак (Ь) при том, что сам мягкий знак сделал правильно. Исправлять не стал: идея и так ясна.



PS
Не примазываюсь к чужой славе: использован метод Ш.Холмса из рассказа А.Конан-Дойла "Пляшущие человечки" — при том, что исходной полезной информации здесь было, мягко говоря, гораздо больше, чем в первоисточнике.

Iska 05-08-2017 05:14 2756431

Цитата:

Цитата mwz
не однобайтная, как я думал, а
— двухбайтная кодировка »

Добавлю для 8Toxa8, что файл в кодировке юникод (UTF-16 LE/1200) с BOM. Хотя меня и терзают сомнения, что это сам коллега 8Toxa8 сделал его таким, а оригинальный файл не юникод.

Цитата:

Цитата mwz
— для представления русских букв, имеющих аналоги по начертанию в латинице, использована латиница,
— для остальных использована доморощенная перекодировка (видимо чтобы не перехлестнуться с символами, используемыми в других местах — как и предположил Busla). »

Вот давно такого не видел, со времён DOS. Словно окунулся в старые славные времена :).

8Toxa8, а что за игра?

8Toxa8 05-08-2017 08:09 2756441

Да действительно я удалил лишнее в файле чтобы по меньше весил, видимо нарушил кодировку, изначально он был ANSI. Оригинал во вложении.
Игра 7 Days to Die. Не ожидал что все окажется на столько сложно.

Iska 05-08-2017 09:47 2756447

8Toxa8, вот почему я всегда и настаиваю именно на оригинальном файле и в архиве — дабы сохранить в неприкосновенности оригинальный формат, в том числе кодировку, BOM и концы строк.

Да, там оригинально. Файл в кодировке UTF-8 без BOM. На место английского засунут перевод на русский в волапюке из-за того, что оригинальный шрифт не содержит кириллицы, а другие игра не кушает. Посему используют такой подход и перерисованный шрифт.

mwz 05-08-2017 09:52 2756450

Цитата:

Цитата Iska
Добавлю для 8Toxa8, что файл в кодировке юникод (UTF-16 LE/1200) с BOM »

Ага. И я забыл сразу отметить особенность: с инверсным порядком байт.

Busla 05-08-2017 10:09 2756453

Iska, UTF-8 без BOM с одной только латиницей называется ANSI ;-)

Iska 05-08-2017 11:00 2756459

Busla, там не только латиница, там же французский, немецкий, испанский с кучей диакретических знаков ;).

Busla 05-08-2017 11:31 2756464

Iska, а, да: открыл - увидел.
разработчики - странные ребята

Iska 05-08-2017 11:46 2756466

Busla, угу. Даже петицию на добавление русской локализации пилили, но, видимо, увы. И тот факт, что в наше время локализаторам приходится прибегать к подобным извращениям из-за непродуманности реализации, действительно говорит о многом.

8Toxa8 05-08-2017 20:27 2756546

Вроде все понятно буду разбираться. Единственное не понял что значит доморощенная перекодировка?

Iska 05-08-2017 20:52 2756551

Цитата:

Цитата 8Toxa8
что значит доморощенная перекодировка? »

То, то она не соответствует ни одному стандарту.

mwz 05-08-2017 21:11 2756556

Цитата:

Цитата 8Toxa8
буду разбираться »

Ну и я не только для демонстрации привёл скриншоты. Если хотите делать свои тексты — то из этой пары видно, что нашей букве У (подставлена внизу) соответствует исходный код dd (смотрим эту же позицию наверху), букве Л — код c5, букве И — код dc, и так далее.

8Toxa8 06-08-2017 19:45 2756708

Как я понял русские символы которых нету в стандартной латинице локализаторы заменили некоторые символы латиницы на русские символы. Значит они внедрили их в саму игру в таблицу ANSI. Это мне надо найти их и внедрить их уже в чистый клиент? На чистом клиенте при замене кодов символов отображаются стандартные символы латиницы.

Iska 06-08-2017 20:48 2756717

Цитата:

Цитата 8Toxa8
Значит они внедрили их в саму игру в таблицу ANSI. »

Они использовали правленный шрифт.

Цитата:

Цитата 8Toxa8
Это мне надо найти их и внедрить их уже в чистый клиент? »

Навряд ли. Судя по тому, что я читал, этого недостаточно.

Есть русскоязычное сообщество. Там есть и патчи для русификации. Можете спросить там, как именно это было сделано.

Gamer_Pro@vk 27-10-2017 20:28 2773830

Цитата:

Цитата Iska
Есть русскоязычное сообщество. Там есть и патчи для русификации. Можете спросить там, как именно это было сделано. »

Гугл привел меня сюда, к сожалению автор локализации не говорит как и что делать, а сообщество уже год ждет от него переводов модификаций для игры.

Кто поможет разобраться с порядком локализации. Ведь шрифты уже нарисованы и перевод автор уже несколько обновлений не изменяет (именно перевод). Меняется файл куда вшит шрифт, автор просто заменяет шрифт после каждой обновы с видом великого труженика а все сообщество милостиво ждет.
Осталось научиться работать с файлом resources.assets и потребность в таких тружениках отпадет, выложить интрументарий и описание в свободный доступ. В течении месяца будут переведены все моды.


Время: 20:00.

Время: 20:00.
© OSzone.net 2001-