python3的学习之路三字符串和编码

Posted Q同码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3的学习之路三字符串和编码相关的知识,希望对你有一定的参考价值。

字符串编码

      由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。

      但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。

      但是全世界有上百种语言,各国有各国的标准就,会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。因此,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

      现在,捋一捋ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。

  • 字母A用ASCII编码是十进制的65,二进制的01000001;
  • 字符0用ASCII编码是十进制的48,二进制的00110000,注意字符’0’和整数0是不同的;
  • 汉字中已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的01001110 00101101。

      如果把ASCII编码的A用Unicode编码,只需要在前面补0就可以,因此,A的Unicode编码是00000000 01000001。

Python的字符串

  • 在python3中字符串是以Unicode编码的
  • 对于单个字符串的编码,python提供了++ord()++函数获取字符的整数表示,chr()函数把编码转化成对应的字符
ord(A)   # 65
ord()  # 20013
chr(66)    #B
chr(25991) #

格式化

%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
常见的占位符有:

%d    整数
%f    浮点数,可指定小数点后的精度
%e      用科学计数法格式化浮点数
%s    字符串
%x    十六进制整数

转义字符

(在行尾时)    续行符
\            反斜杠符号
            单引号
"            双引号
a            响铃
            退格(Backspace)
e            转义
000            空

            换行
v            纵向制表符
	            横向制表符

            回车
f            换页
oyy            八进制数,yy代表的字符,例如:o12代表换行
xyy            十六进制数,yy代表的字符,例如:x0a代表换行
other            其它的字符以普通格式输出

以上是关于python3的学习之路三字符串和编码的主要内容,如果未能解决你的问题,请参考以下文章

python3的学习之路二数据类型和变量

python学习之路

python学习之路4

Python3学习之路~5.7 Json & pickle 模块

学习笔记:python3,代码片段(2017)

python3的学习之路一输入和输出