python编码的一些问题

python编码的一些问题

标签(空格分隔):python


比较好的一篇博客:
http://blog.csdn.net/pipisorry/article/details/44136297


windows 控制台默认采用’gbk’编码方式,Linux默认采用‘utf-8’编码方式。


可采用 import chardet 来查看字符串编码方式:
如下代码是在pycharm中运行

# -*- coding: utf-8 -*-
import chardet

f = open(unicode(r"C:\测试\2样.txt", "utf-8"), 'r+')
str1 = f.read()
print chardet.detect(str1)
print str1
f.close()

结果:

{'confidence': 1.0, 'encoding': 'UTF-8-SIG'}
这是中文读取测试
当然也包括英文:adjaga
12334
****
@@@
结束

UTF-8和 UTF-8-SIG不一样
如下代码是在windows控制台运行:

>>> import chardet
>>> f = open(r"C:\测试\2样.txt",'r')
>>> str1 = f.read()
>>> print chardet.detect(str1)
{'confidence': 1.0, 'encoding': 'UTF-8-SIG'}
>>> print str1.decode('utf-8-sig')
这是中文读取测试
当然也包括英文:adjaga
12334
****
@@@
结束
>>> print str1.decode('utf-8')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'gbk' codec can't encode character u'\ufeff' in position 0: illegal multibyte sequence

待更新。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值