python怎么中文写txt文件

 我来答
育知同创教育
2017-11-12 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

本文以txt 文本为例,只是介绍ANSI,Unicode,UTF-8 三种编码的文件的读写过程,对于编码不做深究了

一、用记事本另存为时,可以选择保存文本使用的的几种编码模式,分别为:

  • ANSI:默认保存的编码格式,采用本地操作系统默认的内码,简体中文一般为GB2312。

  • Unicode:UTF-16的小端字节序,加上BOM签名:0xFFFE。

  • Unicode bigendian:Unicode编码:UTF-16的大端字节序,加上BOM签名:0xFEFF。

  • UTF-8:编码格式是:UTF-8,其BOM为0xEF BB BF(UTF-8不区分字节序,这个BOM仅标志UTF-8编码)

  • Python对于读取的txt文件,最好在读取的时候进行decode成unicode编码,

  • def read_out(self):    with codecs.open(self.filename, 'r+') as get:        return get.read().decode('gbk')


  • 然后再写入的时候进行encode成对应想要的编码类型,这样可以保证源文件的编码方式不会改变,且中文不会乱码

    整个代码过程保持使用unicode编码方式利用try…except 来进行编码判别具体使用了那种编码方式

  • f.write(self.filename.encode('gbk'))

  • 二、对于raw_input 通过键盘输入的文字,通过sys模块中的stdin.encodeing来进行解码

  • content = raw_input().decode(sys.stdin.encoding)

  • type(content)  是unicode
  • 暂时这么多

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式