UTF8和GBK之间相互转换(python脚本)

本文介绍了一种使用Python实现的编码转换方法,包括从UTF-8到GBK及从GBK到UTF-8的转换。通过代码示例详细展示了如何读取和写入不同编码的文件,适用于处理大量文本数据的编码兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import codecs

def ReadFile(filePath,encoding=""):
    with codecs.open(filePath,"r",encoding) as f:
        return f.read()

def WriteFile(filePath,u,encoding=""):
    with codecs.open(filePath,"w",encoding) as f:
        #f.write(u.encode(encoding,errors="ignore"))
        f.write(u)

def UTF8_2_GBK(src,dst):
    content = ReadFile(src,encoding="utf-8")
    WriteFile(dst,content,encoding="gb18030")

def GBK_2_UTF8(src,dst):
    content = ReadFile(src,encoding="gb18030")
    WriteFile(dst,content,encoding="utf-8")

def main():
    print '*********Begin...**********'
    print '==========================='
    print '++++++++UTF8-2-gbk+++++++++'
    UTF8_2_GBK("test1.txt","test2.txt")
    print '==========================='
    print '++++++++GBK-2-utf8+++++++++'
    GBK_2_UTF8("test2.txt","test3.txt")
    print '==========================='
    print '*********End...************'

if  __name__ == '__main__':
     main()

gb2312、gbk和gb18030三者之间的关系

GB2312:6763个汉字

GBK:21003个汉字

GB18030-2000:27533个汉字

GB18030-2005:70244个汉字

所以,GBK是GB2312的超集,GB18030是GBK的超集。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值