Форум сайта python.su
Всем здравствуйте. Стоит задача, перекодировать файл без использования encode \ decode (точнее, нужно сохранить логику перевода). Есть два текстовых файла и третий, с самим текстом: в первом файле содержатся коды (шестнадцатеричные) старой кодировки и сами символы, второй файл содержит в себе коды новой кодировки и символы, а в третьем содержится текст, который нужно перекодировать. Преподаватель хочет, чтобы программа в цикле проходилась по каждому символу третьего файла и шестнадцатеричный код каждого соответствующего символа заменяла на его код из второго файла. Подскажите чем можно обратиться к коду символов и сделать замену. Спасибо.
Офлайн
файлы скиньте
Офлайн
Немного не понимаю зачем нужны файлы вам. Я могу сделать, чтобы программа проходилась по каждому символу, чтобы читала файл по строчкам и тд. Вопрос только в том, как же все таки подменять код символов.
Ну, и еще сами файлы просто не готовы, кроме конечно же текста, который надо перекодировать. Пока я просто пытаюсь узнать реально ли такое сделать на Питоне, сам в Питоне не первый день и даже не месяц, но с такой необычной задачей еще не сталкивался.
Отредактировано Zarich1 (Фев. 17, 2015 00:56:59)
Офлайн
Нужно для каждого символа из третьего файла (файл с текстом) искать код этого символа в первом файле (файл с кодировкой “из”), а затем для найденного кода искать символ во втором файле (файл с кодировкой “в”). Когда символ найден, он добавляется в четвёртый файл.
Офлайн
Но ведь в вашем варианте текст просто станет читаемым, а сама кодировка не изменится, будет использоваться та же таблица, что и ранее.
Офлайн
Нужно для каждого кода из третьего файла (файл с текстом) искать символ с этим кодом в первом файле (файл с кодировкой “из”), а затем для найденного символа искать его код во втором файле (файл с кодировкой “в”). Когда код найден, он добавляется в четвёртый файл. :D
Офлайн
Тогда у нас будет просто файл с какими-то кодами, формата там, не знаю, например AE A0 и тд.
И что из этого вышло? Ничего же..
Офлайн
Zarich1не понимаю зачем тогда файл 1 со старыми кодировками. если он , судя по тому что вы написали, не используется.
Преподаватель хочет, чтобы программа в цикле проходилась по каждому символу третьего файла и шестнадцатеричный код каждого соответствующего символа заменяла на его код из второго файла.
Zarich1
Подскажите чем можно обратиться к коду символов и сделать замену
>>> s='я' >>> s '\xef' >>> ord(s) 239 >>> hex(ord(s)) '0xef'
Офлайн
Zarich1Нет, файл как берётся побайтово, так и сохраняется побайтово.
Тогда у нас будет просто файл с какими-то кодами, формата там, не знаю, например AE A0 и тд.
Офлайн
Английские буквы не прочитались так, как кириллица.
Офлайн