天天看点

python中的字符串编码问题——3.各操作系统下的不同编码方式

各操作系统下的不同编码方式

先看一下

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

继续阅读