美文网首页
几种字符编码

几种字符编码

作者: SimonJoe246 | 来源:发表于2018-01-25 16:24 被阅读0次

本文参考廖雪峰老师的Pyhton教程

几种编码

ASCII

计算机只能处理0和1,所有的文本都要转换成数字才能处理。早期计算机在设计时采用8个比特(bit)为一个字节,计算机是由美国人发明的,他们将26个字母、数字和一些符号编码到计算机中。一个字节(8位)表示,最多能表示128种字符,称为ASCII码。

Unicode

非英语国家只能规定适用自己语言的编码,如中国制定了GB2312编码,日本制定了Shift_JIS编码,韩国制定了Euc-kr编码。如此以来,各国执行不同的标准,如果文本同时出现多种语言,则无法正常显示,会有乱码。

所以Unicode应运而生,它把所有语言都统一到一套编码里,这样就不会出现显示乱码问题了。

上面说到,ASCII采用1个字节编码,Unicode通常采用2个字节编码,所以最大能表示65536种字符。

字母A用ASCII码表示是十进制的65,二进制中是`0100 0001

字符0用ASCII码表示是十进制的48,二进制中是0011 0000。注意,字符0和整数0是不同的。字符用ASCII码表示只占一个字节,十进制为48,整数0在c语言中占2个字节 ,十进制为0

汉字已经超出了ASCII码的范围,在Unicode中,十进制表示为20013,二进制为01001110 00101101

那么字符A在Unicode中怎么表示呢?

直接在其ASCII码的二进制表示前加0即可,即00000000 01000001

UTF-8

采用Unicode统一编码的方式,解决了多语言冲突显示乱码的问题,但是

Unicode有一个问题,如果我写的文本基本为英文的话,采用unicode编码的话,该文件所占用的内存空间比采用ASCII编码多一倍,在存储和传输上就极不划算。

由此,人们想出了把Unicode编码转换成“可变长编码”的UTF-8编码,UTF-8编码把Unicode中的字符按不同的数字大小编码成1-6个字节,英文通常为1个字节,汉字通常为3个字节,只有极其生僻的字符才可能用到4-6个字节。如果要传输的文本以英文为主,则采用UTF-8编码能节省大量的存储空间。

字符 ASCII Unicode UTF-8
A 0110 0001 00000000 01100001 0110 0001
x 01001110 00101101 11100100 10111000 10101101

从上面表格还可以发现,UTF-8已经将ASCII码包含进来了,所以一些历史遗留的只支持ASCII码的软件可以在UTF-8下继续使用。

ps: 以前也看过这几个编码,勉强知道个大概意思,但很难理解,直到看到廖老师的教程,感觉突然间豁然开朗。

相关文章

  • python 字符 编码 简述

    字符编码问题很简单,当你可以区分以下几种概念之后: 字节编码与字符编码 字节串与字符串 文件编码、IDE编码、其他...

  • 几种字符编码

    本文参考廖雪峰老师的Pyhton教程 几种编码 ASCII 计算机只能处理0和1,所有的文本都要转换成数字才能处理...

  • IO操作深入

    字符编码   在实际开发中,常用的编码有如下几种: GBK/GB2312:国标编码,可以描述中文信息,其中GB23...

  • 部分知识点

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

  • 【Python】文本编码与chardet模块

    简介 以前一直对字符编码很模糊,感觉编码方式有很多,在网上查资料也总是看的晕头转向,所以在这里先将几种常见的编码方...

  • 字符编码知识梳理

    [toc] 字符编码: 字符编码(英语:Character encoding)、字集码是把字符集中的字符编码为指定...

  • Python正式课第十三天

    一、文件操作与字符编码 1. 字符编码 编码 将字符转换为对应的二进制序列的过程叫做字符编码(字符->二进制01)...

  • 字符编码

    一. 什么是字符编码? 字符编码(英语:Character encoding)也称字集码,是把字符集中的字符编码为...

  • python 高级方法

    Python的字符串类型 字符编码方法 查看Python中的字符串编码名称,查看系统的编码 源文件字符集编码声明:...

  • Java内存中的文本编码

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

网友评论

      本文标题:几种字符编码

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