Python数据类型和字符编码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据类型和字符编码相关的知识,希望对你有一定的参考价值。
一、文字转二进制
1、把#Alex 按照ASCII表转成二进制形式
2、计算机如何分清哪段代表#,哪段是代码A
二、计算机容量单位
由于字符串长的长,短的短,难以分清每个字符的起止位置,既然ASCII一共是255个字符,那么最长的也不过是11111111八位,不如把所有二进制
转换成8位的,不足的用0来代替。
每一位0或者1所占的空间单位为bit(比特),这是计算机中最小的表示单位
三、字符编码
为了解决每个国家不同编码间不互通的问题,ISO标准组织出马!
Unicode编码:国际标准字符集,他将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。Unicode(统一码、万国码)规定所有的字符和符号最少由16位来表示(2个字节),即2**16=65536;
UTF-8,是对Unicode编码的压缩和优化,他不在使用最少使用2个字节,而是将所有的字符和符号进行分类:asci码中的内容用1个字节、欧洲的字符用2个字节保存,东亚的字符用三个字节保存;
windows系统中文版默认的编码是GBK
Mac OS \ Linux 系统默认的编码是UTF8
Python 2.x默认编码是ASCII
Python 3.X默认编码是UTF-8
四、浮点数
浮点数是属于有理数中某特定子集的数的数字的表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)诚意某个基数的整数次幂得到的(10**4,10为基数),这种表示方法类似于基数为10的科学计数法。
五、浮点精确度问题
整数的浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的而浮点数或运算则可能会有四舍五入的误差。
Python默认的是17位精度,也就是小数点后面16位,但是这个精度确是越往后越不准的。这个问题不是指存在python中,其他语言也有同样的问题。
原因与浮点数存储结构有关。
计算高精确度的浮点数方法
六、数据类型-列表
以上是关于Python数据类型和字符编码的主要内容,如果未能解决你的问题,请参考以下文章