python2.7解决中文编码问题

57 篇文章 2 订阅

    粗略地介绍下编码知识,首先我们认为是字节是面向计算机的,字符是面向人类的,相互的转换就是解码和编码,在各种编码中,ASCII码是7位,用不到一个字节,7个比特来表示字符,这样最多也只有127个字符,ISO8859-1用一个字节8个比特表示字符,可以表示256个字符,GB2312是用2个字节,16个比特,可以包含7000多个字符,其次UNICODE(Universal Multiple-Octet Coded Character Set”,简称 UCS, 俗称 “unicode”)包含上述各种编码的字符,并且每一个字符都具有编码的唯一性,随着互联网的快速发展,传输格式UTF(UCS Transfer Format)标准必须统一,8位一传输就是UTF-8,以后又出现了UTF-16,由GBK变成UNICODE叫做DECODE,由UNICODE变成GBK叫做ENCODE,下面我们看下在PYTHON中的代码

import sys

print sys.stdin.encoding

print sys.stdout.encoding

input-str=raw_input(u'输入:'.encode(sys.stdout.encoding))

f=open('test.txt','w')

f.write(input-str.decode(sys.stdin.encoding).encode('utf-8'))

f.close

通过对系统输入输出编码的识别,可以避免由于中文带来的乱码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值