Gtk.Clipboard.get()の戻り値をutf-8に変換したいと思います。
gtk3
from gi.repository import Gtk, Gdk
def main():
clip = Gtk.Clipboard.get (Gdk.SELECTION_PRIMARY)
text=clip.wait_for_text ()
print text
text=text.encode("utf-8")
print text
main()
選択したテキストがASCII文字のみを保持している場合にのみ機能しますが、国別文字(フランス語/ドイツ語など)がある場合は、text.encode(..)関数からエラーが発生します:UnicodeDecodeError:'ascii'コーデックはバイトをデコードできません位置1の0xc3:順序が範囲内にありません(128)
問題がどこにあり、gtk3バージョンを機能させる方法を知っていますか?
これは、gtk2のgtk.clipboard_get()関数を使用すると正しく機能します。
import gtk
def main():
clip = gtk.clipboard_get ('PRIMARY')
text=clip.wait_for_text ()
print text
text=text.encode("utf-8")
print text
main()
よろしくお願いします