在python3中默認的編碼採用了unicode, 並取消了前綴u. 如果代碼要兼容python2/3, 就很麻煩了. 下面的兩個選擇都不方便:
1. 字符串前面不加u. 這種處理方式多數情況下沒有問題, 比如print輸出, 但因爲漢字在py2和py3的編碼方式不一樣, 如果進行編碼轉換就麻煩了.
2. 加python版本判斷, if sys.version < '3', 字符串不加前綴u, 如果是py2, 加上前綴u. 這樣代碼顯得很拖沓.
3. 現在有第3種, 比較好的方法是引入unicode_literals,
from __future__ import unicode_literals
, 這樣在py2下, '你好'這樣的字符串不用家前綴u, 也是unicode編碼.