美文网首页
字符和编码

字符和编码

作者: ClementCJ | 来源:发表于2019-05-23 19:42 被阅读0次
1. ASCII
  • 英文字符、数字和一些符号用ASCII编码;
  • ASCII使用一个byte编码,这样中文以及其它的语言用一个byte是不能处理的,各国制定了自己语言的编码,如GB2312(中文)、Shift_JIS(日文)、Euc-kr(韩文)等,这样在多语言混合的文本中,显示会出现乱码
2.Unicode
  • 为解决多语言混合显示乱码的问题,Unicode应运而生,所有语言在内存中的编码方式都是Unicode;
  • Unicode通常是2个byte,Unicode虽然解决了多语言冲突的问题,但是它所占的空间也大,例如,当文本内容都是英语时,这个时候有一本的空间时空的,造成了存储浪费
3.UTF-8
  • 为解决Unicode的存储浪费的问题,UTF-8诞生了,它时一种可变长编码;
  • UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。

综上所述,文件在内存编码为Unicode,在存储空间中存储为指定的编码格式如UTF-8, ascii, GB2312等。

  • 从存储空间中读取文件到内存时,要把文件从其编码格式转换为Unicode编码;
  • 从内存空间写入存储空间时,要把文件从Unicode编码指定编码格式。
举个栗子:

字符串s,存储格式为UTF-8,转换为GB2313

# s先解码为Unicode,把从Unicode编码为GB2313
>>> s.decode('utf-8').encode('GB2312')
4.python中的codecs模块的open()方法,通过解码文本的编码格式为Unicode来处理文本
import codecs
# 把title.txt中的内容从utf-8解码为Unicode
with codecs.open('title.txt', 'r', 'utf-8') as f:
    names = f.read()

相关文章

  • 大端字节序和小端字节序的理解

    参考编码字符集和字符编码介绍unicode和字节介绍

  • Java内存中的文本编码

    1、编码简介 1.1 概念简析:字符、字符集、编码字符集、Code Point、Code Unit和字符编码格式 ...

  • 字符集和字符编码

    一篇很好地字符集和字符编码的详细介绍 字符集和字符编码(Charset & Encoding)

  • Python基础(二)-字符串和编码

    字符串和编码 字符编码 字符编码也称字集码,是把字符集中的字符编码为指定集合中某一对象,以便文本在计算机中存储和通...

  • 关于JavaScript编码你应该知道的

    1. 字符集和编码的关系 字符集是字符的集合,编码则是字符集中的字符要如何存储的规则。 如上图,当字符集和编码一一...

  • 字符和编码

    1. ASCII 英文字符、数字和一些符号用ASCII编码; ASCII使用一个byte编码,这样中文以及其它的语...

  • 字符串

    1.字符的编码 Python中的字符采用的是Unicode编码 1.什么是编码 :数字和字符是一一对应的,其中字符...

  • 编码:编码字符集和字符编码

    一、乱码 首先,所有信息在计算机上都是以二进制形式存储。而当出现乱码的时候往往是将这些信息以字符的形式表现之后。这...

  • 部分知识点

    chr(编码值) - 将字符编码转换成字符 ord(字符) - 获取字符对应的编码值 可以将字符编码放到字符串中便...

  • python2,python3的字符编码 和 字符类型

    字符编码 一开始制定字符编码只考虑了英文 ASCII编码表(包含英文、数字和常用字符), 0~127 为了统一,诞...

网友评论

      本文标题:字符和编码

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