Уведомления

Группа в Telegram: @pythonsu

#1 Май 1, 2014 03:07:55

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Очистить буфер обмена Windows от форматирования

У меня есть скрипт на Python 3. Я потратил много времени, пытаясь сделать так, чтобы мой скрипт нормально поддерживал кириллицу, как при копировании в буфер, так и вставке из буфера. Нагромоздил кучу костылей (1, 2), и все равно эта вся конструкция иногда дает сбои. Только что обнаружил интересный баг. Если копировать текст с кириллицей из блокнота и пропускать через скрипт, то все работает. Однако, если копировать тот же самый текст из Word 2007 и пропустить через скрипт, то кириллица выводится в неверной кодировке. Аналогично, если скрипт копировал в буфер текст (текст на выходе конвертируется в windows-1251), то в Excel 2003 он сразу нормально вставляется как текст, а в Excel 2007 надо выбирать специальную вставку => Обычный текст, иначе получаются иероглифы. Таким образом, у меня появился вопрос.

1. Можно ли сделать так, чтобы всегда на входе и выходе был юникод?
2. Можно ли скопировать в буфер форматированный текст?
3. Можно ли превратить уже скопированный в буфер форматированный текст в обычный plain-text?

Прошу прощения, если несколько сумбурно.

Офлайн

#2 Май 7, 2014 02:55:26

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Очистить буфер обмена Windows от форматирования

В общем, нужно делать

win32clipboard.SetClipboardData(win32clipboard.CF_UNICODETEXT,line)
вместо
win32clipboard.SetClipboardData(line)
СПАСИБО всем большое за полезные советы!!!

Отредактировано vanvanov (Май 7, 2014 03:02:24)

Офлайн

#3 Май 7, 2014 19:46:55

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Очистить буфер обмена Windows от форматирования

vanvanov
СПАСИБО всем большое
Так вроде не за что. Судя по всему тут не очень много людей которые пользуются Word Exel и windows. Так что не обижайтесь.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version