各操作系统下的不同编码方式
先看一下
linux,python2.7
>>> B = b‘\xc3\x84\xc3\xa8‘
>>> B.decode(‘utf-8‘)
u‘\xc4\xe8‘
>>> type(B)
<type ‘str‘>
>>>
windows,python2.7,python shell
>>> B = b‘\xc3\x84\xc3\xa8‘
>>> B.decode(‘utf-8‘)
u‘\xc4\xe8‘
>>> print B.decode(‘utf-8‘)
?è
>>>
windows,python2.7,python cmd控制台
>>> B = b‘\xc3\x84\xc3\xa8‘
>>> B.decode(‘utf-8‘)
u‘\xc4\xe8‘
>>> print B.decode(‘utf-8‘)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: ‘gbk‘ codec can‘t encode character u‘\xc4‘ in position 0: il
legal multibyte sequence
>>>
三种环境下不同输出的原因:
windows控制台默认采用GBK编码,liunx默认采用UTF-8编码
------------------------------------------------------
查看linux默认编码:
[[email protected] ~]# env |grep LANG
LANG=zh_CN.UTF-8
------------------------------------------------------
查看windows控制台默认编码:
cmd打开控制台---->属性---->查看编码为936(简体中文GBK)
(进一步在linux和windows下新建文本文件查看编码方式果然没错,证实。)
原文地址:https://www.cnblogs.com/Micang/p/9733028.html