字符串和编码

1. 字符编码

计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。8个比特(bit)作为一个字节(byte),一个字节能表示的最大的整数就是255(二进制11111111=十进制255),两个字节可以表示的最大整数是655354个字节可以表示的最大整数是4294967295

  • 最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码
  • 中国制定了GB2312编码,用来把中文编进去;
  • Unicode把所有语言都统一到一套编码里,最常用的是用两个字节表示一个字符;
  • UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节;

2. 字符串

在最新的 Python3 版本中,字符串是以 Unicode 编码的,即 Python 的字符串支持多语言。

>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'

要计算 str 包含多少个字符,可以用 len() 函数:

>>> len('ABC')
3
>>> len('中文')
2

3. 格式化

>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

%s 表示用字符串替换,%d 表示用整数替换,有几个%? 占位符,后面就跟几个变量或者值,顺序要对应好。%s 永远起作用,它会把任何数据类型转换为字符串。
format() 方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……

>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'

本文内容整理自廖雪峰的官方网站_Python教程
仅做学习记录,不可转载

你可能感兴趣的:(字符串和编码)