2012-03-02 27 views
-2

我有一個任務,將一堆用Python 2編寫的代碼轉換爲Python 3, ,並且這項任務的重點是使用UTF-8(didn不太瞭解這個概念,但無論如何..)使用2to3(和UTF-8)轉換爲Python 3

我已經使用2to3自動轉換,但不知道如果使用2to3實現UTF-8的目標,或者如果有一些其他部分,我應該手動工作上。

究竟是什麼,它是通過使用2to3自動完成的?

預先感謝您。

+0

也許你應該澄清一下,「擁有UTF-8」的要求究竟是什麼意思。否則,這裏有人很難回答。 – deceze 2012-03-02 02:46:33

+0

這就是我不知道的事情....由於UTF-8的重要性,我剛剛被告知將其轉換爲Python 3的重要性,以便該程序可以與任何其他語言一起使用 – CosmicRabbitMediaInc 2012-03-02 02:48:53

+0

然後請澄清與誰告訴過你。 「UTF-8支持」可能發生在整個應用程序的許多不同位置。也許你想閱讀我在http://kunststube.net上撰寫的一些文章,以瞭解你正在談論的內容...... – deceze 2012-03-02 02:52:57

回答

1

「我只是告訴它轉換成Python 3的重要性,因爲UTF-8的重要性,使程序可以與任何其他語言的工作」

誰告訴你這是誤導。

2to3對「擁有UTF-8」無所謂。 2to3是將你的代碼從Python 2移動到Python 3. Python 3的確意味着你有Unicode變量名,但是我強烈建議不要這樣做。餿主意。否則,Python 2完美地支持Unicode和UTF-8。

看起來您的實際目標不是UTF-8,而是將該程序翻譯成其他語言,也稱爲國際化或「18n」。這是一個完全不同的問題,與2to3無關。相反,您需要手動將所有文本字符串更改爲將在渲染時進行翻譯的gettext標記。請參閱http://docs.python.org/library/gettext.html

有關Unicode的更多信息,另請參閱http://regebro.wordpress.com/2011/03/23/unconfusing-unicode-what-is-unicode/