Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Vim

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Quasus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
 
У меня vim 7.3 на Windows. Собственно, настоящая проблема как раз из-за Windows.
 
Экспериментирую с фильтрацией (filtering) с помощью python-а 3.2.
 
В vim-e текстовый файл в utf-8. Получать текст из питона я пробовал следующими способами:
sys.stdin.read()
— работает для русских и английских букв. Если сделать
sys.stdin.buffer.read().decode('cp1251'),
аналогично. Если же
sys.stdin.buffer.read().decode('utf-8'),
то для русских не работает. Для греческих букв в исходном файле не работает ни в каком варианте.
 
Насколько понимаю, когда вим передаёт текст питону, последний почему-то уверен, что это cp1251. Есть ли способ его разубедить?
 
Для полноты изложения пример скрипта:

Код:
 
import sys
#inp=sys.stdin.buffer.read().decode('cp1251')
inp=sys.stdin.read()
outp=inp + '\nαβγδ.'
sys.stdout.buffer.write(outp.encode())
# the following assumes the output should be in cp1251
# and doesn't accept Greek letters
#sys.stdout.write(outp)
 

 
Надеюсь, кто-нибудь сталкивался. Буду благодарен за подсказки.
 

Всего записей: 43 | Зарегистр. 08-05-2012 | Отправлено: 11:10 08-05-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Vim


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru