python入门指南(五)编码问题

 

1、写中文文件乱码

 with io.open(code_log_path,"a+",encoding='utf-8') as f:
            f.write(unicode("\xEF\xBB\xBF", "utf-8"))
            f.write(u'{}\n'.format(ss))

2、Python将字符串格式的unicode编码转换成unicode编码,如:\u53eb\u6211,需要转换成中文时有两种方式:

(1).使用eval:

eval("u"+"\'"+unicodestr+"\'")

(2)使用decode:

str1 = '\u4f60\u597d'  
print str1.decode('unicode_escape')  
你好 

unicodestr.decode('unicode_escape')  # 将转义字符\u读取出来

3、按行读文件

with open('order.txt', 'r+') as f:
    while True:
        ss= f.readline().decode("GBK").encode("utf-8")
        if not ss:
            break
        print ss,

4、一次读多行

with open('test3.txt', 'r+') as f:
    while f:
        ss= f.readline()
        ss2= f.readline()

5、设置系统默认编码  

   import sys

     reload(sys)

    sys.setdefaultencoding('utf8')

6、超出utf-8  

with open("./test.log","r+",encoding="ISO-8859-1")as f:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值