我用一個匿名管道來捕獲所有的stdout,然後stderr打印成一個richedit,當我使用wsprintf時沒關係,但是使用多字節字符串的python真的讓我煩惱。我怎樣才能將所有這些輸出轉換爲unicode?python和unicode stderr
更新2010-01-03:
謝謝你的回覆,但似乎str.encode()
只有print xxx
東西的工作,如果是py_runxxx()
過程中出現錯誤,我重定向標準錯誤將捕獲錯誤多字節字符串中的消息,那麼有沒有辦法可以使Python以unicode的方式輸出它的消息?在this post似乎有一個可用的解決方案。
我稍後再試。
1.在這種情況下,隱藏內建名稱('str()')是一種糟糕的做法。應該在Unicode字符串上調用'.encode()'而不是在字節串上調用。 – jfs 2010-01-03 19:48:04
這對變量名來說只是一個不好的選擇。我已經把它變成了更明顯的東西。 – 2010-01-03 22:24:43