Найти - Пользователи
Полная версия: Как файл в кодировке cp1251 сохранить в utf-8
Начало » Python для новичков » Как файл в кодировке cp1251 сохранить в utf-8
1 2
Alexsss
Проблема в том, что я из интернета загружаю страничку. Она в cp1251. Так как обрабатывать её в этой кодировке довольно проблематично, то её нужно перекодировать в utf-8. Вопрос: как?
igor.kaist
Сохранить в утф или обрабатывать в программе в юникоде?
bw
text_in_cp1251 = open('cp1251.html', 'rb').read()
text_in_unicode = text_in_cp1251.decode('cp1251')
text_in_utf8 = text_in_unicode.encode('utf8')
open('utf8.html', 'wb').write(text_in_utf8)
RTFM, в конце концов же.

>>> help(str)
Ведь это так просто.

..bw
Alexsss
Спасибо)))

bw
Ведь это так просто.
На то я и чайник!
SvartalF
Alexsss, на то вы чайник, чтобы учиться, а не чтобы перекладывать всю работу на других.
ZZZ
Или более быстрый и менее затратный для памяти вариант, пригодный для очень больших файлов. Главное, чтобы переносы строк были…
f = file("utf8.html", "wb")
for line in file("cp1251.html", "rb"):
f.write(line.decode('cp1251').encode('utf8'))
P.S. Насколько я помню, open теперь использовать некошерно.
plishas
если перекодировать нужно вручную (не автоматически т.е. не в скрипте),
то можно использовать текстовой редактор: http://notepad-plus.sourceforge.net/ru/site.htm
также этот редактор удобно использовать просто для написания кода…
bw
> то можно использовать текстовой редактор
А еще можно использовать iconv :-).

..bw
-=<fantom>=-
ZZZ
Или более быстрый и менее затратный для памяти вариант, пригодный для очень больших файлов. Главное, чтобы переносы строк были…
f = file("utf8.html", "wb")
for line in file("cp1251.html", "rb"):
f.write(line.decode('cp1251').encode('utf8'))
P.S. Насколько я помню, open теперь использовать некошерно.
Вообще-то, в последней строке с точность наоборот:
f = file("utf8.html", "wb")
for line in file("cp1251.html", "rb"):
f.write(line.decode('utf8').encode('cp1251'))
По крайней мере, в PortablePython 2.5
igor.kaist
-=<fantom>=-, зачем тему поднимать двухлетней давности?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB