摘要: 为了实现Python 2到Python 3的平滑过渡,在Python 2.6以后的版本中,也为字符串提供了该方法并鼓励大家使用,以代替惯用的%操作符。问题是,如果你的程序需要处理非ASCII码字符,例如中文、日文、韩文的话,那么你在使用format()方法时将会被提示以下错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-9: ordinal not in range(128). 原因是在Python 2.x中,字符串的默认编码是ascii码,无法直接处理中文等超出ascii码范围的文字。
阅读全文