美文网首页Python基础
[python基础]-05 字符串和编码

[python基础]-05 字符串和编码

作者: 一点想法 | 来源:发表于2019-07-10 18:53 被阅读0次

1.字符串编码历史及发展

1.1 计算机运作原理

计算机只能处理二进制数据:即0或者1,如果要处理的是文本,计算机会先把文本转换为计算机能识别的数字再进行处理

1.2 计算机中字节和比特关系及换算

计算机最早的设计是8bit(比特)作为一个byte(字节),所以一个字节最大的整数为255,如果要表示更大的整数,就必须用更多的字节表示

一个字节最大的数值用二进制表示为:11111111
换算成十进制:1(2^7)+1(26)+1*(25)+1(2^4)+1(23)+1*(22)+1(2^1)+1(2^0)=255

1.3 ASCII编码

由于计算机是美国人发明的,所以最早只有127个字符被编码到计算机即:大小写字母、数字和一些符号,最早这套编码称为:ASCII编码。

1.4 GB2312编码

由于处理中文一个字节显然不够至少需要两个字节,并且不能和ASCII编码重冲突,所以中国就制定了GB2312把中文编进去。

1.5 多种编码出现导致的乱码问题

因为全世界存在很多种语言,日本将日文编码到shift_JIS里,韩国将韩文编码到Euc_kr里,每个国家都制定了自己的编码标准,那么如果一个多国家语言的文本,显示出来就会出现乱码

1.6 统一标准的Unicode编码应运而生

Unicode编码将所有语言都整合到一套标准里,这样就解决了乱码问题

但是由于Unicode编码常用的是两个字节表示一个字符,那么如果是纯英文文本,使用Unicode编码会比ASCII编码多一倍的存储空间

1.7 可变长的编码UTF-8

UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节
1.常用的英文字母被编码成1个字节
2.汉字通常是3个字节
3.只有生僻字符才会被编码成4-6个字节
使用UTF-8编码,对英文字符的传输相对Unicode就节省了很多空间

2.Python字符串

在Python2中常常使开发者头痛的问题就是字符串的编码问题,升级后的Python3解决了这个问题,Python3中字符串使用Unicode编码,即支持了多语言不出现乱码的问题。

3.格式化输出

3.1 第一种格式化方式 %

第一种格式化方式C语言一致,用%表示

>>>'hello %s,u age is %d' %('world',70)
'hello world,u age is 70'
%s %d %f %x表示占位符,有几个占位符,后面就要跟上几个变量或值,且顺序要对应
%s  替换内容:字符串
%d  替换内容:整数
%f  替换内容:浮点数
%x  替换内容:十六进制整数
3.2 第二种格式化方式 format()

使用format方法格式化字符串,传入的参数依次替换字符串内的占位符

>>>'hello,my name is {0},my age is {1},my height is {2}'.format('Tom',10,'100cm')
'hello,my name is Tom,my age is 10,my height is 100cm'

相关文章

  • [python基础]-05 字符串和编码

    1.字符串编码历史及发展 1.1 计算机运作原理 计算机只能处理二进制数据:即0或者1,如果要处理的是文本,计算机...

  • Python中的字符串编码

    Python中的字符串编码 定义字符串 Python 中存在两种编码方式的字符串:ASCII 和 Unicode。...

  • python编码

    python编码 python编码简介 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,...

  • python基础 - 字符串和编码

    字符串 不可变对象 方法 编码

  • python 高级方法

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

  • Python编码问题

    默认编码 字符串 python2 文本字符串默认编码是ASCII,中文默认UTF-8python3 文本字符串默认...

  • python的unicode编码问题(以正则表达式为例)

    unicode是python的内部编码。字符串在Python内部的表示是unicode编码,因此,在做编码转换时,...

  • Python爬虫基础 | 字符串和编码

    python字符串编码的问题在爬虫过程中无论是输出到文件中还是输出到DB数据库中感觉是始终绕不过去的一道坎,所以趁...

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

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

  • Python基础之【字符串和编码】

    字符编码   最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数...

网友评论

    本文标题:[python基础]-05 字符串和编码

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