python中的字符串编码问题——3.各操作系统下的不同编码方式
Posted 米仓山下
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的字符串编码问题——3.各操作系统下的不同编码方式相关的知识,希望对你有一定的参考价值。
各操作系统下的不同编码方式
先看一下
linux,python2.7
>>> B = b‘xc3x84xc3xa8‘
>>> B.decode(‘utf-8‘)
u‘xc4xe8‘
>>> type(B)
<type ‘str‘>
>>>
windows,python2.7,python shell
>>> B = b‘xc3x84xc3xa8‘
>>> B.decode(‘utf-8‘)
u‘xc4xe8‘
>>> print B.decode(‘utf-8‘)
?è
>>>
windows,python2.7,python cmd控制台
>>> B = b‘xc3x84xc3xa8‘
>>> B.decode(‘utf-8‘)
u‘xc4xe8‘
>>> 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下新建文本文件查看编码方式果然没错,证实。)
以上是关于python中的字符串编码问题——3.各操作系统下的不同编码方式的主要内容,如果未能解决你的问题,请参考以下文章
采用霍夫曼编码(Huffman)画出字符串各字符编码的过程并求出各字符编码 --多媒体技术与应用