计算机编码

python坚持到底05

南笙酒味 提交于 2019-12-12 04:58:48
今天主要介绍Python字符编码,其实字符编码不单适用于Python,对于计算机语言都适用,可以当做常识了解一下。 以下内容来自网络,我进行了部分编排。 完全理解字符编码 与 Python 的渊源前,我们有必要把一些基础概念弄清楚,虽然有些概念我们每天都在接触甚至在使用它,但并不一定真正理解它。比如:字节、字符、字符集、字符码、字符编码。 1、字节 字节(Byte)是计算机中数据存储的 基本单元 ,一字节等于一个8位的比特,计算机中的所有数据,不论是保存在磁盘文件上的还是网络上传输的数据(文字、图片、视频、音频文件)都是由字节组成的。 2、字符 你正在阅读的这篇文章就是由很多个字符(Character)构成的,字符一个信息单位, 它是各种文字和符号的统称 ,比如一个英文字母是一个字符,一个汉字是一个字符,一个标点符号也是一个字符。 3、字符集 字符集(Character Set)就是某个范围内字符的集合, 不同的字符集规定了字符的个数 ,比如 ASCII 字符集总共有128个字符,包含了英文字母、阿拉伯数字、标点符号和控制符。而 GB2312 字符集定义了7445个字符,包含了绝大部分汉字字符。 4、字符码 字符码(Code Point)指的是字符集中每个字符的数字编号,例如 ASCII 字符集用 0-127 连续的128个数字分别表示128个字符,例如 "A"

Locale: 字符集(character set).

◇◆丶佛笑我妖孽 提交于 2019-12-07 02:56:16
char 可被应用于所有8bit以及8bit以下的字符集,例如: US-ASCII,ISO-Latin-1和ISO-Latin-9以及UTF-8. char16_t 可被用于UCS-2,也可被用于UTF-16的code unit(代码单元). char32_t 可被用于UCS-4/UTF-32. wchar_t 它通常等价于char16_t或者char32_t. US-ASCII 7-bit字符集,于1963年完成标准化,用于电传打字机和其他设备,最开始的16个字符是不可打印的。 ISO-Latin-1或ISO-8859-1 这是一个8bit的字符集,于1987年完成标准提供西欧语言的所有字符, 这个字符集也是下面所有字符集的基础. UCS-2 这是一个 16bit的定长字符集(2byte) ,提供Universal Character Set(全球字符集)和Unicode(统一码)中最重要的65536个字符. UTF-8 这是个 multi-byte字符集 ,使用1-4个8bit值,用来表现Universal Character Set(全球字符集)和Unicode(统一码)的所有字符.主要被广泛的应用于万维网(world wide web). UTF-16 这也是一个 multi-byte字符集 ,使用1-2 code unit(每个16bit),用来表现Universal

6.计算机的字符与编码集

假装没事ソ 提交于 2019-12-05 19:27:14
转:https://www.cnblogs.com/sum-41/p/11516651.html 字符编码集的历史 ASCII码 对于ASCII码,相信大家在平时的学习、工作中都有所了解。 ASCII码,英文全称为:American Standard Code for Information Interchange,翻译过来就是:美国信息交换标准代码,是我们平常常用的一种编码。那它是怎么来的呢? 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),假如,对于字符a,比尔盖茨想用0001来表示,而乔布斯想用0010来表示,那么他们在沟通交流的时候谁都无法理解对方的语言。因此,为了计算机能够互相通信而不造成混乱,就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。 标准ASCII码也叫基础ASCII码,使用7个比特位来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符,共定义了128(2的7次方)个 字符 。

二进制补码(负数编码)、反码、原码

寵の児 提交于 2019-12-05 02:55:12
一、补码 补码是对负整数在计算机中存储的一种形式; 第二种形式的负数在计算机中可以使用 (负号加数字)的形式表示一个负数;例如(-3 以1000 0011 存储)但是使用这种方法表示的只有(+0,-0),而且不可以做算术运算。 二、计算机数和真值 讨论二进制编码之前,首先来了解一下什么是计算机数和真值 (一)计算机数 一个数在计算机中的二进制表示形式,叫做这个数的机器数 。 机器数数带符号的,由于计算机内部的硬件只能表示两种物理状态,在 计算机使用一个数的最高位存放符号,正数为 0,负数为 1。 例如: 十进制中的 +5 和 -5,计算机字长为8位,分别转换为 00000101 和 10000101;这里面的 00000101 和 10000101 就是机器数 机器数的特点: 一个数值的二进制表现形式,就叫做这个数的机器数。二进制的位数是受机器设备的限制的。机器内部设备一次能表示的二进制位数叫做机器的字长,一台机器的字长数固定的。 字长8位的叫做一个字节(Byte),机器字长一般都是字节的整数倍,如字长 8位、16位、32位、64位。 机器数的分类: 根据小数点位置固定与否,机器数又可以分为定点数和浮点数。通常使用 定点数表示 整数,使用 浮点数表示 实数: 1、整数 :整数没有小数部分,小数点固定在数的最右边。整数可以分为(1) 无符号整数 和 (2) 有符号整数 两类。

day01 Python基础02_20181223

不羁岁月 提交于 2019-12-05 00:08:01
一. 格式化输出 现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式 ------------ info of 太白金星 ----------- Name : 太白金星 Age : 22 job : Teacher Hobbie: girl ------------- end ----------------- 你怎么实现呢?你会发现,用字符拼接的方式还难实现这种格式的输出,所以一起来学一下新姿势 只需要把要打印的格式先准备好, 由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就好啦 name = input("Name:") age = input("Age:") job = input("Job:") hobbie = input("Hobbie:") info = ''' ------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name Name : %s #代表 name Age : %s #代表 age job : %s #代表 job Hobbie: %s #代表 hobbie ------------- end ----------------- ''' %(name,name,age,job

字符编码

家住魔仙堡 提交于 2019-12-04 15:27:42
字符编码 一、计算机基础 二、文本编辑器存取文件的原理 打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失。 要想永久保存,需要点击保存按钮:编辑器把内存的数据刷到了硬盘上。 在我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已。 三、Python解释器执行py文件的原理 第一阶段:Python解释器启动,此时就相当于启动了一个文本编辑器 第二阶段:Python解释器相当于文本编辑器,去打开test.py文件,从硬盘上将test.py的文件内容读入到内存中(小复习:pyhon的解释性,决定了解释器只关心文件内容,不关心文件后缀名)。 第三阶段:Python解释器解释执行刚刚加载到内存中test.py的代码( ps:在该阶段,即真正执行代码时,才会识别Python的语法,执行文件内代码,当执行到name="egon"时,会开辟内存空间存放字符串"egon")。 四、Python解释器与文件本编辑的异同 相同点:Python解释器是解释执行文件内容的,因而Python解释器具备读py文件的功能,这一点与文本编辑器一样。 不同点:文本编辑器将文件内容读入内存后,是为了显示或者编辑,根本不去理会Python的语法,而Python解释器将文件内容读入内存后,可不是为了给你瞅一眼Python代码写的啥

unicode 、utf-8 、utf-16、ascii 、gbk 、gb2312 的区别

匿名 (未验证) 提交于 2019-12-03 00:39:02
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为” 字节 “。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为” 计算机 “。 开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。 他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作: 遇上0×10, 终端就换行; 遇上0×07, 终端就向人们嘟嘟叫; 遇上0x1b, 打印机就打印反白的字,或者终端就用彩色显示字母。 他们看到这样很好,于是就把这些0×20以下的字节状态称为”控制码”。他们又把所有的空 格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号,这样计算机就可以用不同字节来存储英语的文字了。大家看到这样,都感觉 很好,于是大家都把这个方案叫做 ANSI 的”Ascii”编码(American Standard Code for Information Interchange,美国信息互换标准代码)。当时世界上所有的计算机都用同样的 ASCII 方案来保存英文文字。 后来,就像建造巴比伦塔一样

计算机字符编码基础

匿名 (未验证) 提交于 2019-12-03 00:15:02
1、打开编辑器就打开启动了一个进程,是在内存中,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失了。 2、要想永久保存,需要点击保存按钮:编辑器把内存的数据刷到硬盘上。 3、在外面编写一个.py文件(没有执行),跟编写其他的文件没有任何区别,都只是在编写一堆字符而已。 第一阶段:Python解释器启动,此时就相当于启动了一个文本编辑器。 第二阶段:Python解释器相当于文本编辑器,去打开test.py文件,从硬盘上将test.py的文件内容读入到内存中(小复习:Python的解释性,决定了解释器只关心文件内容,不关心文件后缀名)。 第三阶段:Python解释器解释执行刚刚加载到内容中的test.py的代码(ps:在该阶段,即真正执行代码时,才会识别Python的语法,执行文件内代码,当name=“egon”,会开辟内存空间存放字符串“egon”)。 相同点:Python解释器是解释文件内容的,因而Python解释器具备读py文件的功能,这一点与文本编辑器一样。 不同点:文本编辑器将文件内容读入内存后,是为了显示或者比编辑,根本不去理会python的文法,而Python解释器将文件内容读入内存后,可不是为了给你瞅一眼Python代码写的啥,而是为了执行Python代码、会识别Python语法。 计算机要想工作必须通电,即用‘电’驱动计算机干活,也就是说‘电

计算机中的字符编码

匿名 (未验证) 提交于 2019-12-02 23:43:01
计算机中的字符编码 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。 由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。 但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。 你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。 因此,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。 Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。 现在

python学习的第五天

匿名 (未验证) 提交于 2019-12-02 22:51:30
贾队长今天看了这本《笨办法学python3》,这本书更偏向于实战,我在这里面找到了昨天没有弄懂的字符串和编码的问题。这使我更加迷茫。在这之前,我需要先学一些计算机存储数据的基本知识。现在的计算机只有1和0,把它称为“位”(bit)但是很不方便,所以有了编码,最常见的就是美国信息交换标准代码(ASCII) 0b1011010 90 ord('z') 90 chr(90) 'z' 唉,迷糊了,先休息吧,明天贾队长还有很多工作。革命尚未成功,同志仍需努力啊!! 来源:博客园 作者: 颜值担当贾队长 链接:https://www.cnblogs.com/jiaduizhang/p/11762468.html