字符串编码

      由于计算机是美国人发明的,因此,最早只有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            响铃
\b            退格(Backspace)
\e            转义
\000            空
\n            换行
\v            纵向制表符
\t            横向制表符
\r            回车
\f            换页
\oyy            八进制数,yy代表的字符,例如:\o12代表换行
\xyy            十六进制数,yy代表的字符,例如:\x0a代表换行
\other            其它的字符以普通格式输出
posted on 2018-09-26 11:12  Q同码  阅读(156)  评论(0编辑  收藏  举报