I’m given a task of converting a bunch of code written in Python 2 to Python 3,
and this task was given with emphasis on having UTF-8 (didn’t quite comprehend the concept but anyway..)
I’ve automated the conversion using 2to3, but not sure if using 2to3 achieves the goal of having UTF-8, or if there’s some other parts that I should manually work on.
What is it exactly, and is it done automatically by using 2to3?
Thank you in advance.
“I was just told the importance of converting it into Python 3 due to importance of UTF-8 so that the program can work with any other language”
Whoever told you that was misinformed.
2to3 does not do anything towards “having UTF-8” whatever that means. 2to3 is to move your code from Python 2 to Python 3. Python 3 does mean you have have Unicode variable names, but I would strongly recommend against that anyway. Bad Idea. Otherwise Python 2 supports Unicode and UTF-8 perfectly well.
It seems your actual goal is not UTF-8, but translating the program to other language, also known as internationalization, or “18n”. That’s a completely different issue, and has nothing to do with 2to3. Instead you need to manually change all your text strings to gettext tokens that will be translated when rendered. See http://docs.python.org/library/gettext.html
See also http://regebro.wordpress.com/2011/03/23/unconfusing-unicode-what-is-unicode/ for more information on Unicode.