字符编码与二进制

字符编码的由来:

计算机只认识0和1,因为计算机底层就是电路
二进制可以使用数字转换
二进制字符编码,可以使用数字来表示字符
ASCII码最多用8位来表示一个字节,英文使用了127个字符,预留128-255
128-255进行扩展 ,在扩展中加入了7000多个中文字符,1980年定义的就是GB2312
1995年收录了20000多个汉字,就是GBK
2000年使用了GB18030,收录了27000多字符,包含藏文,蒙文等
字符编码向下兼容

最常用的中文编码就是GBK

国际ISO标准组织就叫Unicode,就是万国码,不兼容GBK
UTF8就是Unicode,可变长的字符集,英文字符用UTF8存储就是ASCII码,用中文就是UTF8

ASCII 255 1Bytes
----->1980 GB2312 7xxx
------> 1995 GBK1.0 2W+
------> 2000 GB10830 27xxx
------>unicode 2bytes
------> UTF-8 en:1bytes,zh:3bytes

Python2里显示中文需要申明编码:
# -*- coding:utf-8 -*-

Python3默认就是utf8,可以直接打印输出

时间: 2024-10-26 13:37:11

字符编码与二进制的相关文章

Python学习笔记一:第一个Python程序,变量,字符编码与二进制,用户交互程序

第一个python程序 Windows:设置环境变量,X:\pthonxxx,xxx是版本号 在命令提示符下 输入python,进入解释器 >>>print("Hello World!") >>>exit() 编辑文件helloworld.py 执行:python helloworld.py Linux:./helloworld.py   声明解释器:#!/usr/bin/env python  在环境变量中找python Chmod 755 hel

python学习笔记8-9(字符编码与二进制)

字符编码 python解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII) 二进制 举例:古时候烽火台,点火和不点火只有两种状态,传递信息太少. 约定点火数1,代表1-100 点火数2,代表101-1000 点火数3,代表1001-5000 点火数4,代表5001-1000 虽然有进步,但还不够精确 如果引入二进制,可以精确表示任意数 字符编码 二进制和字母的转换 ASCII(American Standard Code for Information Interchange,美

字符编码和二进制

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill).python3现在编码是unicode. ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节) 即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号. ASCII码只能表示255个符号无法将世界上

字符编码与二进制与转码

#ASCII 255 1bytes,1980年GB2312 7000,1995年GBK1.0 2w,2000年GB18030,Unicode 1bytes,utf-8 en:1bytes zh:3bytes#都向下兼容.#最后出现Unicode(统一码,万国码,单一码)#ASCII码一个英文站1个字节,8位#Unicode中英文都站2个字节,16位#utf-8 英文为1字节,中文为3字节 #GBK [decode]转换为unicode编码然后通过[encode]转换成utf-8#utf-8[de

Python基础 二进制和字符编码

二进制定义 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二",由18世纪德国数理哲学大师莱布尼兹发现.当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的.计算机中的二进制则是一个非常微小的开关,用"开"来表示1,"关"来表示0. 二进制与十进制转换 我们已经发现,二进制的第n位代表的十进制值都刚好遵循着2的n

二进制转换、字符编码的演化、Python里使用的编码、浮点数、浮点数的精确度问题

二进制转换 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二",由18世纪德国数理哲学大师莱布尼兹发现.当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的.计算机中的二进制则是一个非常微小的开关,用"开"来表示1,"关"来表示0. 古时候敌人来了,如何通信呢? ①派人跑着去通知,速度太慢,等人回来,仗也打完了.

二进制与字符编码

计算机能识别的只有1和0,也就是二进制,而1和0可以表达出全世界的所有文字和语言符号. 我们人类采用的是十进制算术法,主要原因是因为我们有10个手指头.如果我们只有2个手指头的话,我们就会用二进制计数,就会逢二进一,那可能是这样计数的:1,10,11,20,21,30,31,40......其中1代表十进制中的1,10代表10进制中的2,11代表十进制中的3,20代表10进制中的4......不过这样太麻烦了,我们可以用纯2进制表达,因为是逢二进一,所以除第一位外,每一位肯定是前一位的两倍. 比

python字符编码

1. 字符编码简介 阶段一:现代计算机起源于美国,最早诞生也是基于英文考虑的ASCII ASCII:一个Bytes代表一个字符(英文字符/键盘上的所有其他字符),1Bytes=8bit,8bit可以表示0-2**8-1种变化,即可以表示256个字符 ASCII最初只用了后七位,127个数字,已经完全能够代表键盘上所有的字符了(英文字符/键盘的所有其他字符) 后来为了将拉丁文也编码进了ASCII表,将最高位也占用了 阶段二:为了满足中文,中国人定制了GBK GBK:2Bytes代表一个字符 为了满

刨根究底字符编码之十二——UTF-8究竟是怎么编码的

UTF-8究竟是怎么编码的 1. UTF-8编码是Unicode字符集的一种编码方式(CEF),其特点是使用变长字节数(即变长码元序列.变宽码元序列)来编码.一般是1到4个字节,当然,也可以更长. 为什么要变长呢?这可以理解为按需分配,比如一个字节足以容纳所有的ASCII码字符,那何必补一堆0用更多的字节来存储呢? 实际上变长编码有其优势也有其劣势,优势是节省空间.自动纠错性能好.利于传输.扩展性强,劣势是不利于程序内部处理,比如正则表达式检索:而UTF-32这样等长码元序列(即等宽码元序列)的