python3-ascii与Unicod

发布时间:2019-09-25 08:21:38编辑:auto阅读(1821)

    # 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'))


关键字