python3-ascii与Unicod

2020-01-03 17:56:50 浏览数 (1)

代码语言:javascript复制
# Auther: Aaron Fan
'''
ASCII:不支持中文,1个英文占1个字节
Unicode(万国码,支持所有国家的文字显示):支持中文,但是每个英文和中文都占2个字节
UTF-8(是一种针对Unicode的可变长度字符编码,又称万国码。):
    英文依然按照ASCII的方式占1个字节,所有的中文字符统一是3个字节
    Unicode里面支持各个国家的编码转换,比如当中国的gbk格式的软件在日本打开出现乱码的时候,
    必须把gbk转成Unicode编码后才可以正常显示。
GBK:全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,
    英文名称:Chinese Internal Code Specification)
'''
'''
1、先转成Unicode
2、再转换成gbk
概括就是:先编码,后解码
'''

#示例:
'''
gbk_file是一个gbk编码的文件

需求:
把gbk_file转换成一个utf8编码的新文件,新文件名为:gbk_to_utf8_file
'''

#python3一行命令搞定的方法
#把gbk文件转换成utf8文件,源文件gbk_file,目标文件utf8file:
open('utf8file','w ',encoding='utf-8').write(open('gbk_file','r',encoding='gbk').read())
#把utf8文件转换成gbk文件,源文件utf8file,目标文件gbk_file:
open('gbk_file','w ',encoding='gbk').write(open('utf8file','r',encoding='utf-8').read())

#python2上的实现方式:
#gbk文件转换成utf8文件,源文件newfile,目标文件utf8file:
pen('utf8file','w ').write(open('newfile','r').read().decode('gbk').encode('utf-8'))

0 人点赞