`

Python27 和 IronPython 处理文件读写的字符编码问题

阅读更多

又被 Python 的字符编码虐了。

 

平台:

Python27,IronPython

 

场景:

  1. 读取包含ASCII 字符的 UTF-8 编码的纯文本文件。
  2. 将包含ASCII 字符的 Unicode 字符串写入纯文本文件。

细节:

  • 打开文件可以用 open ,也可以用 module 'codecs' 下的 'open'(推荐使用)。codecs.open 的功能更强大,可以指定读取解析文件内容时所使用的编码格式。
  • 如果读取的文件头部包含 BOM(Byte order mark),那么用 Python27 读取时,BOM 会被当作内容读取进来,但在 IronPython 环境下,BOM 会被自动忽略。写文件时,考虑到文件将来可能会在其它地方被用到,这时候要考虑是否将 BOM 写入文件头部(方便识别编码)。
  • 最好不要在一个字符串(或数组)中夹杂多种编码格式的字符。从文件读取内容后,尽量将其转换成 Unicode 操作,直到必须进行编码时,再将其用具体格式编码。

 

分享到:
评论

相关推荐

    PYTHON从入门到精通.doc

    1. **Python解释器**:Python解释器是执行Python代码的环境,如CPython(官方实现)或其他如Jython(Java平台上的Python)或IronPython(.NET平台)。安装Python解释器后,用户可以直接在命令行运行Python交互模式...

    python3-廖雪峰带标签完整版

    在进行文件和目录操作时,Python提供了标准库中的os和io模块,可以进行文件的读写操作,处理目录和文件系统。此外,Python还支持字符串和字节序列的处理,以及序列化(将对象状态保存至磁盘)。 Python也支持多进程...

    学python的官方文档

    11. **Python解释器**:了解Python的解释器,如CPython(默认的解释器)、Jython(基于Java的Python实现)和IronPython(.NET框架上的Python实现)。 12. **Python版本管理**:了解如何在不同版本的Python之间切换...

    Python基础教程第3版源代码 全部源码包 共23个章节.rar

    8. **文件操作**:如何打开、读写文件,以及处理文件路径。 9. **函数式编程**:介绍高阶函数、lambda表达式、map、filter和reduce等概念。 10. **迭代器和生成器**:如何利用迭代器和生成器实现高效的数据处理。 ...

    python零基础入门资料 python基础

    Python提供了try-except结构来捕获和处理异常,保证程序在遇到问题时能优雅地退出或恢复。 6. **文件操作**:学习读写文件是编程中常见的需求。Python提供了简单易用的文件操作接口,如`open()`函数,可以方便地...

    利用python解决问题还有相关编程练习.zip

    8. **Python解释器**:Python有多种解释器,如CPython(官方实现)、Jython(运行在Java平台上)、IronPython(.NET平台上)等。 9. **Python版本**:主要分为Python 2和Python 3两个大版本,目前Python 2已不再...

    Python Cookbook

    2.6 处理文件中的每个词 68 2.7 随机输入/输出 70 2.8 更新随机存取文件 71 2.9 从zip文件中读取数据 73 2.10 处理字符串中的zip文件 74 2.11 将文件树归档到一个压缩的tar文件 76 2.12 将二进制数据发送到...

    python2.4中文帮助文档

    - 文件与I/O操作:如何打开、读写和关闭文件,以及处理文本和二进制数据。 - 模块系统:导入机制,以及sys、os和os.path模块在文件和目录操作中的作用。 - 标准库模块:如math模块进行数学运算,datetime模块处理...

    Python入门介绍.zip

    Python有多种解释器,如CPython(官方实现),Jython(Java平台上的Python),IronPython(.NET平台上的Python)。 11. **Python版本** 主要有Python 2和Python 3两个主要版本,Python 3是最新且推荐使用的版本,...

    Python-Notes.rar_overview_python programming

    - try-except:Python使用try-except语句捕获和处理运行时错误,提高程序健壮性。 - finally:在异常发生时,finally块的代码总是会被执行,常用于清理资源。 4. **标准库** - Python标准库包含大量预先编写好的...

    Python知识点整理.zip

    13. **Python解释器**:Python有多种解释器,如CPython(官方解释器)、Jython(运行在Java平台上的Python实现)和IronPython(运行在.NET平台上的Python实现)。 14. **虚拟环境**:venv和virtualenv工具允许你在...

    python的核心笔记pdf

    14. **解释器**:Python有CPython(官方实现)、Jython(Java平台)、IronPython(.NET平台)等多种解释器,体现了其跨平台的特性。 这本"Python的核心笔记pdf"很可能是对以上这些概念的详细讲解,通过徐浪老师的...

    Python编程助教面试题.zip

    - Jython和IronPython:Python在Java和.NET平台上的实现。 11. **性能优化**: - 使用timeit模块进行代码性能测试。 - 列表推导式和生成器表达式提高效率。 - 内存管理:理解引用计数和垃圾回收机制。 以上是...

    Python3-廖雪峰带标签完整版

    有两种主要类型的 Python 解释器:CPython 和其他实现如 Jython(Java 平台上的 Python 实现)和 IronPython(.NET 平台上的 Python 实现)。CPython 是最常用的 Python 解释器,也是官方推荐的版本。 #### 第一个...

    Python入门教程

    Python提供了一系列的文件操作函数,如open()用于打开文件,read()、write()用于读写文件,还有文件对象的各种方法用于处理文件内容。 九、面向对象编程 Python是面向对象的语言,支持类的定义、对象的创建和继承、...

    Python参考手册(第4版)

    5. **文件操作**:Python提供了丰富的文件和I/O操作接口,包括读写文本文件、二进制文件,以及处理文件对象。书中会介绍各种打开模式,以及如何使用上下文管理器进行安全的文件操作。 6. **标准库**:Python的标准...

    1小时解密程序员的黑魔法Python

    9. **Python解释器**:Python有多种解释器,如CPython(官方实现)、Jython(运行在Java平台上)和IronPython(在.NET平台上运行)。 10. **Python在实际项目中的应用**:Python广泛应用于Web开发、数据分析、人工...

    Python基础内容教学.pptx

    常见的解释器有CPython(官方实现)、Jython(Java平台)和IronPython(.NET平台)等。 学习Python基础,不仅需要理解以上概念,还需要通过实际编写代码来加深理解和应用。Python的易读性和广泛的应用领域使其成为...

    Python入门指南【中英对照版PDF】

    6. **文件操作**:学习如何读写文件,以及如何处理文件和目录,是Python编程中常见的任务。 7. **控制流**:条件语句(if、elif、else)和循环结构(for、while)是控制程序流程的关键。 8. **字符串操作**:...

    python经典入门

    11. **Python解释器**:Python有多种解释器,如CPython(官方实现)、Jython(Java平台上的Python)和IronPython(.NET平台上的Python),这些解释器让Python可以在不同平台上运行。 "Python经典入门"的学习通常会...

Global site tag (gtag.js) - Google Analytics