文本文件的编码格式

简介: 文本文件的编码格式

文本文件的编码格式

[TOC]

一、文本文件

  • 文本文件存储的内容是基于 字符编码 的文件,常见的编码有 ASCII 编码,UNICODE 编码等
Python 2.x 默认使用 ASCII 编码格式
Python 3.x 默认使用 UTF-8 编码格式

二、ASCII 编码和 UNICODE 编码

2.1 ASCII 编码

  • 计算机中只有 256ASCII 字符
  • 一个 ASCII 在内存中占用 1 个字节 的空间

    • 80/1 的排列组合方式一共有 256 种,也就是 2 ** 8

2.2 UTF-8 编码格式

  • 计算机中使用 1~6 个字节 来表示一个 UTF-8 字符,涵盖了 地球上几乎所有地区的文字
  • 大多数汉字会使用 3 个字节 表示
  • UTF-8UNICODE 编码的一种编码格式

三、Python 2.x 中如何使用中文

Python 2.x 默认使用 ASCII 编码格式
Python 3.x 默认使用 UTF-8 编码格式
  • 在 Python 2.x 文件的 第一行 增加以下代码,解释器会以 utf-8 编码来处理 python 文件
# *-* coding:utf8 *-*
这方式是官方推荐使用的!
  • 也可以使用
# coding=utf8

3.1 unicode 字符串

  • Python 2.x 中,即使指定了文件使用 UTF-8 的编码格式,但是在遍历字符串时,仍然会 以字节为单位遍历 字符串
  • 要能够 正确的遍历字符串,在定义字符串时,需要 在字符串的引号前,增加一个小写字母 u,告诉解释器这是一个 unicode 字符串(使用 UTF-8 编码格式的字符串)
# *-* coding:utf8 *-*

# 在字符串前,增加一个 `u` 表示这个字符串是一个 utf8 字符串
hello_str = u"你好世界"

print(hello_str)

for c in hello_str:
    print(c)
目录
相关文章
|
3月前
CSV写入文件追加新的内容,文件编码处理
CSV写入文件追加新的内容,文件编码处理
56 8
|
7月前
|
算法 Unix Linux
什么是sqfs文件格式?
sqfs,Squash file system,压缩文件系统,.sqfs表示压缩文件系统的文件类型,可引导文件或引用用于UNIX的可引导磁盘映像的文件。
193 5
|
8月前
|
C#
C# 获取文件编码格式
C# 获取文件编码格式
75 0
|
8月前
|
C语言 C++
01 按指定格式读写文件出现乱码
##按指定格式写文件使用stringstream
50 0
convmv命令对文件名进行编码转换
convmv命令对文件名进行编码转换
249 0
将ansi文本格式以utf-8文本格式进行读取
查阅网上很多博客关于其他文本格式转化成utf-8,会出现中文乱码的情况,自己也遇到了,看到网上很多乱七八糟的博客,都没有什么实质性的解决方案。为此专门写了这篇博客,希望能对你们有帮助。
107 0
|
存储 编解码 前端开发
正确的认识乱码与编码
编码将《内存字节》作用于《磁盘文件或者网络文件》的过程,也是将《磁盘文件/网络文件》反解析成《内存字节》的过程. 这个过程中如果 内存字符串到 “字节数组”的编码 与 网络/磁盘文件的之间转化的编解码方式不一致或者不兼容就 会产生乱码. 在一次网络数据访问的过程中,可能有多次这两个步骤的转化.
174 0
|
存储 安全 关系型数据库
为什么编码不同会出现乱码?
本章节通过情景模拟,和大家一起探讨为什么编码不同会出现乱码