ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python官方文档使用笔记

2019-09-26 13:53:08  阅读:174  来源: 互联网

标签:编码 UTF 字节 Python 编解码器 笔记 文档 BOM UTF16


codecs --- 编解码器注册和相关基类

  这个模块定义了标准Python编解码器(编码器和解码器)的基类,并提供接口用来访问内部的Python编解码器注册表,该注册表负责管理编解码器和错误处理的查找过程。大多数标准编解码器都属于文本编码,它们可将文本编码为字节串,但也提供了一些编解码器可将文本编码为文本,以及字节串编码为字节串。自定义编解码器可以在任意类型间进行编码和解码,但某些模块特性仅适用于文本编码或将数据编码为字节串的编解码器。

  本模块提供了以下常量,适用于读取和写入依赖于平台的文件:

  codecs.BOM_UTF8

  这些常量定义了多种字节序列,即一些编码格式的Unicode字节顺序标记(BOM)。它们在UTF-16和UTF-32数据流种被用以指明所使用的字节顺序,并在UTF-8种被用作Unicode签名。BOM_UTF16是BOM_UTF16_BE或BOM_UTF16_LE,具体取决于平台的本机字节顺序,BOM是BOM_UTF16的别名,BOM_LE是BOM_UTF16_LE的别名,BOM_BE是BOM_UTF16_BE的别名。其他序列则表示UTF_8和UTF-32编码格式中的BOM。

 

  应用举例:

  编译过程中报错 \65279

  这是因为代码中采用utf-8有bom的编码格式。bom其实就是在文件的开头,插入了3bit的bom头。‘\xef\xbb\xbf’

import os
import codecs
import configparser

proDir =os.path.split(os.path.realpath(__file__))[0]
configPath = os.path.join(porDir, "config.ini")

class ReadConfig:
    def __init__(self):
        fd = open(configPath)
        data = fd.read()

        # remove BOM
        if data[:3] == codecs.BOM_UTF8:
            data = data[3:]
            file = codes.open(configPaht,"w")
            file.write(data)
            file.close()
        fd.close()

 

标签:编码,UTF,字节,Python,编解码器,笔记,文档,BOM,UTF16
来源: https://www.cnblogs.com/susanhonly/p/11590435.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有