为了账号安全,请及时绑定邮箱和手机立即绑定

Python:如何使用codecs模块将unicode数据保存成gbk格式

Python:如何使用codecs模块将unicode数据保存成gbk格式

holdtom 2019-02-25 23:39:33
需求:使用codecs模块将utf-8的文件保存成gbk格式。 读取的时候,已经将编码设置成utf-8了。输出结果是unicode字符串。 但是在将unicode字符串写入文件并保存为gbk的时候,发现文件内容为空(0kb)。 注:测试的时候,发现有的文件转码的时候,文件变小了,而且内容被截断。 比如:原本a.txt的内容为:<div><table> </table></div> 但转码后变成:<div><table> 原本以为是NUL字符的问题,但后面替换了NUL字符,发现结果还是一样。 python代码如下: #coding:utf-8 import os import codecs def ReadFile(filePath,encoding="utf-8"): try: strContent = "" f = codecs.open(filePath,"r",encoding=encoding) line = f.readline() while(line): strContent += line line = f.readline() f.close() return strContent except Exception,ex: return None def WriteFile(filePath,u,encoding="gb2312"): try: f = codecs.open(filePath,"w",encoding) f.writelines(u) f.flush() f.close() except Exception,ex: pass def UTF8_2_GBK(src,dst): try: content = ReadFile(src,encoding="utf-8") WriteFile(dst,content,"gb2312") except Exception,ex: pass
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 668 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信