关于raw_input输入中文时的编码转换

时间:2021-03-26 20:15:51

今日在敲代码时出现了如下问题

    关于raw_input输入中文时的编码转换

     关于raw_input输入中文时的编码转换

 中文的编码出现了问题(在键盘输入中文时也会出现同样的问题),中文的编码应该是utf-8编码格式,有以下两种方式来进行编码转换:

(1)decode用法:str  -> decode('the_coding_of_str') -> unicode

       即写为格式:raw_input('净利润为:'.decode('utf-8').encode('gbk'))

(2)encode用法:unicode -> encode('the_coding_you_want') -> str

       即写为格式:raw_input(unicode('净利润为:','utf-8').encode('gbk'))

这时候即可正确运行。

另外,Python2.7中可以使用sys和locale两个模块自动识别字符串的编码,修改后如下:

关于raw_input输入中文时的编码转换

此时也可以正确执行。这个是raw_input提示符内提示文字为中文,若想要键盘输入的为中文时可以这样修改:

关于raw_input输入中文时的编码转换

注意:最好在文件上方注释上提到进行了编码转换,方便后期或他人的观看,如:# -*- coding: UTF-8 -*-

在后期学习中,在print中包含中文时又出现类似问题,且上述方法似乎为见效,找到一个较好的网站如下:

http://www.jianshu.com/p/53bb448fe85b