美文网首页
使用Python把UTF8转ANSI编码

使用Python把UTF8转ANSI编码

作者: woodcol | 来源:发表于2019-02-12 21:55 被阅读0次

前言

Windows 下用记事本保存文件时有个 ANSI 编码,在python 中使用 mbcs 编码(Windows only)表示 ANSI:

with open('hello.txt', 'w') as f:
    f.write(u'你好'.encode('mbcs'))

执行上面的代码,就可以创建一个 ANSI 编码的文件。

ANSI == Windows 本地编码
在简体中文 Windows 系统中:ansi == gbk :

>>> u'你好'.encode('mbcs')
'\xc4\xe3\xba\xc3'
>>> u'你好'.encode('mbcs').decode('gbk')
u'\u4f60\u597d'

把UTF8的文件转码成ANSI文件

直接上代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import codecs

#oldfile:UTF8文件的路径
#newfile:要保存的ANSI文件的路径
def convertUTF8ToANSI(oldfile,newfile):

    打开UTF8文本文件
    f = codecs.open(oldfile,'r','utf8')
    utfstr = f.read()
    f.close()
    
    #把UTF8字符串转码成ANSI字符串
    outansestr = utfstr.encode('mbcs')

    #使用二进制格式保存转码后的文本
    f = open(newfile,'wb')
    f.write(outansestr)
    f.close()

注意

mbcs是windows下独有的,所在这个程序只能在windows使用

相关文章

  • 使用Python把UTF8转ANSI编码

    前言 Windows 下用记事本保存文件时有个 ANSI 编码,在python 中使用 mbcs 编码(Windo...

  • 关于编码

    编码的三种大类 ANSI(GBK) ANSI即为GBK编码以前是GB2312,GBK和UTF8为最常用的编码格式,...

  • 编解码问题

    在写python的时候,由于python3默认使用utf8编码,所以,我们几乎可以忽略编码问题,但是,不代表不会出...

  • Python基本知识

    一,解释器默认编码的区别   Python2解释器默认编码:ASCII  Python3解释器默认编码:UTF8 ...

  • C++ 字符串编码转换

    ​ 最近碰到字符串编码转换的问题,简单记录下 utf8 转 unicode unicode 转 utf8 ut...

  • python3写中文到csv中出现问号的解决办法

    Python版本3.6一开始使用的编码是utf8,如下所示 输出结果如下 将编码修改为utf-8-sig即可解决问...

  • 字符集与编码

    字符集与编码 ANSI编码 ANSI(American National Standard Institute),...

  • 错误: 编码GBK的不可映射字符

    “javac 文件”时,报错编码GBK的不可映射字符,编码格式有问题,使用ANSI编码就可以了

  • iOS 多编码文本文件解码

    加载不确定编码的文本文件,直接使用UTF8加载,若不是UTF8编码的可能会出错,或者乱码。 使用下述方法可 “NS...

  • python创建csv文件中文乱码

    使用csv模块生成文件出现中文乱码,是因为python生成的中文编码为UTF8,而csv默认打开为gb2312,所...

网友评论

      本文标题:使用Python把UTF8转ANSI编码

      本文链接:https://www.haomeiwen.com/subject/iyrleqtx.html