Python2.7.13中文乱码问题
2017-07-16 10:33
211 查看
一个通过输入数字输出中文’星期几’的简单程序,由于使用的python2,期间遇到了中文乱码的情况,经过多次试验已解决。两个程序都可以
这里python直接采用默认中文编码方式gbk/gb2312,一个中文字占两个字节。
utf-8用三个字节表示一个中文字。
若不加第一行,则第三行不进行编码解码可以实现,因为python默认对中文采取gbk/gb2312编码,但若加了第一行,input中提示的中文以utf-8编码则需以utf-8解码后再转换成gbk/gb2312编码才能正确显示。(这里不是很明白)而最后一行print编码解码都必须是utf-8。
希望大神解惑!!!小白一个。。。。。。
weekdays='星期一星期二星期三星期四星期五星期六星期日' n=raw_input("请输入星期几(1-7):") pos=(int(n)-1)*6 weekAbbrev=weekdays[pos:pos+6] print "你输入的是:"+weekAbbrev
这里python直接采用默认中文编码方式gbk/gb2312,一个中文字占两个字节。
# -*- coding: utf-8 -*- weekdays='星期一星期二星期三星期四星期五星期六星期日' n=raw_input("请输入星期几(1-7):".decode('utf-8').encode('gbk'))#gbk也可以换成gb2312 pos=(int(n)-1)*9 weekAbbrev=weekdays[pos:pos+9] print "你输入的是:"+weekAbbrev.decode('utf-8').encode('utf-8')
utf-8用三个字节表示一个中文字。
若不加第一行,则第三行不进行编码解码可以实现,因为python默认对中文采取gbk/gb2312编码,但若加了第一行,input中提示的中文以utf-8编码则需以utf-8解码后再转换成gbk/gb2312编码才能正确显示。(这里不是很明白)而最后一行print编码解码都必须是utf-8。
希望大神解惑!!!小白一个。。。。。。
相关文章推荐
- python3 解决zip解压中文乱码问题,亲测可用, ZipFile
- python生成csv中文乱码的问题
- Python输出中文乱码问题
- 关于python中中文字符切割乱码的问题
- BeautifulSoup中文乱码解决问题 python 爬虫 乱码
- python抓网页中文乱码问题
- python 中文乱码问题深入分析
- Python处理MLDonkey 下载中文文件乱码问题
- Python处理MLDonkey 下载中文文件乱码问题 (2)
- Python requests库中文乱码问题
- python 中文乱码 问题深入分析
- 处理Python2.7读写文件中的中文乱码问题
- Python操作MySQL以及中文乱码的问题
- Python中解决中文乱码问题
- python pdfkit 中文乱码问题处理
- 解决Python的print中文在windows命令行乱码问题
- python 中文乱码问题深入分析
- 关于win终端下python输出中文乱码问题
- python 中文乱码 问题深入分析
- python 中文乱码问题深入分析