博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python汉字编码
阅读量:6243 次
发布时间:2019-06-22

本文共 812 字,大约阅读时间需要 2 分钟。

  hot3.png

如果一个project必须在两个平台上开发,我会要求我的程序使用同样的encoding,比如要求所有的文件都使用UTF-8,如果实在不能统一,可以退而求其次,用当前系统编码决定文件内文的编码:
import locale
import string
import re
#根据当前系统的encoding构造需要的编码取值
lang = string.upper(locale.setlocale(locale.LC_ALL, ""))
textencoding = None
#检查编码的值是不是满足我们需要的情况
if re.match("UTF-8", lang) != None:
# UTF-8编码
textencoding = "utf-8"
elif re.match(r"CHINESE|CP936", lang):
# Windows下的GB编码
textencoding = "gb18030"
elif re.match(r"GB2312|GBK|GB18030", lang):
# Linux下的GB编码
textencoding = "gb18030"
else:
# 其他情况,抛个错误吧
raise UnicodeError
fd = file(filename, "r")
fulltextlist = fd.readlines()
# 把每一行转换成unicode
for each in len(fulltextlist):
fulltextlist[i] = unicode(each, textencoding)
fd.close()

# 如果要打印的话,可以用 text.encode(encoding) 来恢复成多字节编码

#现在的版本好像已经默认支持Unicode编码了-----收藏了

转载于:https://my.oschina.net/makeit/blog/126297

你可能感兴趣的文章
我的友情链接
查看>>
半导体产业的根基:晶圆是什么
查看>>
PHP页面刷新
查看>>
数据库之变迁
查看>>
DICOM协议中有关打印的内容
查看>>
lsmod
查看>>
server 2003 IIS无法访问asp页面,但是可以访问html静态页面
查看>>
totem成为万能播放器
查看>>
常用CSS记录
查看>>
我的友情链接
查看>>
DNS介绍和原理
查看>>
使用JIRA搭建企业问题跟踪系统3
查看>>
如何定位消耗CPU最多的线程
查看>>
Linux PAM 之cracklib模块
查看>>
buffer && cache
查看>>
Mockito
查看>>
android闹钟实现原理
查看>>
lamp
查看>>
2-12 Linux一些基础练习的实战资料整理
查看>>
在线图片处理的开源项目或开放平台
查看>>