Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035

Конвертирование кодировки файла

16.06.2016, 12:37. Показов 2338. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
файл в кодировке ucs2 little endian после слива с консоли, необходимо его перевести в утф8. Как это с минимальными потерями сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.06.2016, 12:37
Ответы с готовыми решениями:

Конвертирование неизвестной кодировки в utf8
как переконвертировать любую (неизвестную) кодировку в utf-8 ?

Конвертирование с кодировки юникод в биты
Добрый день.Пишу сейчас программу по шифрованию и в основе алгоритма нужно считивать текст блоками по 64 бита. Подскажите пожалуйста как...

При сохранении файла необходимо сделать возможность выбора кодировки файла
private: System::Void сохранитьКакToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { if...

5
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
16.06.2016, 13:39
Как-то так:
Python
1
2
3
4
5
6
7
8
9
10
filename = r'd:\temp\ucs2.txt'
new_fn = r'd:\temp\utf8.txt'
 
f = open(filename, encoding='utf-16')
f2 = open(new_fn, 'w', encoding='utf-8')
for line in f.readlines():
    f2.write(line)
 
f.close()
f2.close()
1
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
16.06.2016, 13:52  [ТС]
еще пару вопросов:
1) ucs2 little endian = utf16 ?
И как вы догадались вообще что это утф16

2) Почему такая партянка не работает?

Code
1
2
 txt = open("in.txt", "r").read()
 converted_txt = str(bytes(txt, 'utf-16'), 'utf-8')
3) r - зачем?

4) как питонить также как вы? Что читать\делать?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
16.06.2016, 14:01
Цитата Сообщение от ht1515 Посмотреть сообщение
txt = open("in.txt", "r").read()
Потому, что в таком случае интерпретатор использует кодировку по умолчанию (пытается угадать, раз ты ему сам не сказал) и если не угадывает то все падает.

Цитата Сообщение от ht1515 Посмотреть сообщение
3) r - зачем?
Это режим открытия файла, в принципе по умолчанию и так используется 'r', по этому если файл нужно просто прочитать, то этот параметр можно опустить.
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
16.06.2016, 14:04
ht1515, utf-16 может быть двух видов - big endian и little endian. Я просто попробовал, подошло Хотя и big endian тоже можно сконвертить, в питоне это предусмотрено, просто надо в доку лезть.

Догадался, потому что читал умные книги! В частности Джоэл Спольски, "Что каждый программист должен знать о таблицах кодировок", или как-то так. Это одна глава из книги "Джоэл о программировании".

Партянку вашу посмотрю, так сразу непонятно, почему.
r - чтобы читать. Для наглядности.
1
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
16.06.2016, 16:22
Не работает портянка потому, что
1. сначала вы кодируете строку txt в кодировку utf-16: bytes(txt, 'utf-16')
2. затем пытаетесь прочитать её как строку в другой кодировке - utf-8 (это как открыть файл utf-16 в кодировке utf-8 - отображаются кракозябры). При этом интерпритатор спотыкается уже на первом байте, ибо этот байт - часть BOM, а utf-8 (чужих) BOMов не понимает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.06.2016, 16:22
Помогаю со студенческими работами здесь

Конвертирование файла в картинку
Зравствуйте, требуется перевести файл в картинку и обратно. Для конвертации файла в картинку нашел следующий код. Но, я не могу...

Конвертирование .map файла
Доброго времени суток! Необходимо перенести карту созданную в WorldBuilder (CNC Generals) в формате map, в unity3d. В WorldBuilder нет...

Конвертирование файла из .xls в .xml
Столкнулся с такой проблемой. Мне нужно написать фоновый конвертер, что забирает файлы (4) из одной папки в формате .xls и сохраняет в...

Конвертирование файла из PDF в JPG
Dim f As New SautinSoft.PdfFocus() f.OpenPdf(TextBox2.Text) If f.PageCount > 0 Then ...

Конвертирование текстового файла в двоичный
Здравствуйте! У меня возникла проблема при конвертировании текстового файла в двоичный. Помогите, пожалуйста, найти ошибку в коде: extern...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru