1
Ребята, привет!
Есть толковые программисты среди нас? В общем вопрос такой - есть маленькая китайская программа, которая преобразует файлы .tbl в .xml и наоборот, проблема заключается в том, что программа работает только с кодировкой GB2312, если файл .xml перекодировать в UTF-8, то преобразовать обратно в .tbl не получится, программа выдаёт ошибку и создает пустой файл .tbl. Программа это всего один файл .exe.
Знает кто как можно исправить эту проблему? В долгу не останусь!
Прога: https://disk.yandex.ru/d/JEn5dZUbILQkoA
Антивирус на 10-ке ругается, открывать на виртуалке (прога работает только на китайской Виндовс ХР).
2023.01.30
ЛС Ответить
2
А исходный код то хоть есть, или рассчитываете что тут reverse engineering-ом ещё будут заниматься?
2023.01.30
ЛС Ответить
3
если .tbl это что-то простое, то лучше с нуля написать. Ну или просто конвертировать в GB2312, и пользоваться этой прогой, если это не что-то массовое.

Архив, кстати, запароленный.
2023.01.30
ЛС Ответить
4
2023.01.30LaoAN А исходный код то хоть есть, или рассчитываете что тут reverse engineering-ом ещё будут заниматься?

Исходника нет((
2023.01.30
ЛС Ответить
5
2023.01.30бкрс если .tbl это что-то простое, то лучше с нуля написать. Ну или просто конвертировать в GB2312, и пользоваться этой прогой, если это не что-то массовое.

Архив, кстати, запароленный.

TBL это таблицы игровых данных, характеристики, название, описание предметов, НПС и прочее.
Пароль: 1111
2023.01.30
ЛС Ответить
6
Вот пример одного из самых маленьких файлов
<?xml version="1.0" encoding="GB2312"?>
<table>
<row 编号="1" 名称="光头" 性别="1" 动作发型图片="0" 纸娃娃发型图片="0" 费用="500" />
<row 编号="3" 名称="侠气型" 性别="1" 动作发型图片="1" 纸娃娃发型图片="1" 费用="1000" />
<row 编号="4" 名称="飘逸型" 性别="1" 动作发型图片="2" 纸娃娃发型图片="2" 费用="1000" />
<row 编号="5" 名称="真我型" 性别="1" 动作发型图片="3" 纸娃娃发型图片="3" 费用="1000" />
<row 编号="6" 名称="飘散型" 性别="1" 动作发型图片="4" 纸娃娃发型图片="4" 费用="1000" />
<row 编号="13" 名称="古典型" 性别="2" 动作发型图片="11" 纸娃娃发型图片="1" 费用="1000" />
<row 编号="14" 名称="淑女型" 性别="2" 动作发型图片="12" 纸娃娃发型图片="2" 费用="1000" />
<row 编号="15" 名称="灵巧型" 性别="2" 动作发型图片="13" 纸娃娃发型图片="3" 费用="1000" />
<row 编号="16" 名称="秀丽型" 性别="2" 动作发型图片="14" 纸娃娃发型图片="4" 费用="1000" />
</table>
2023.01.30
ЛС Ответить
7
2023.01.30бкрс если .tbl это что-то простое, то лучше с нуля написать. Ну или просто конвертировать в GB2312, и пользоваться этой прогой, если это не что-то массовое.

Архив, кстати, запароленный.

GB2312 не подходит, т к  о т о б р а ж е н и е  ш р и ф т а  не п р а в и л ь н о е  в  и г р е
https://ltdfoto.ru/image/iMjtQj
2023.01.30
ЛС Ответить
8
Если игра открывает файл как GB2312 и подсунуть ей UTF-8, то она его просто не откроет (если это не предусмотрено).

И сам шрифт не связан с кодировкой файла.

Вряд ли тут можно что-то сделать, только бить разработчиков, кто не использует юникод и нормальные шрифты, но это проблема другого уровня.
2023.01.30
ЛС Ответить
9
2023.01.30бкрс Если игра открывает файл как GB2312 и подсунуть ей UTF-8, то она его просто не откроет (если это не предусмотрено).

И сам шрифт не связан с кодировкой файла.

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

Мне кажется дело именно в кодировке, когда-то давно игра была с русском локализацией, у меня остался клиент с русским переводом, там все файлы где есть кириллица в формате .xml используют кодировку UTF-8
https://ibb.co/mXxsr1t
.tbl файлы в рус клиенте тоже есть, но преобразовать их в .xml не получатся, я думаю это потому что русский издатель запаковал их с кодировкой UTF-8.
2023.01.30
ЛС Ответить
10
В самом xml меняли кодировку когда пробовали в UTF-8? Первая строчка encoding="GB2312"
2023.01.30
ЛС Ответить