Python 编码补充

  1. Python 3.5版本中,for循环的时候,循环的每一个元素是“字符”,可以正常打印汉字
  2. 如需要循环每一个汉字的字节码,可使用bytes(i, encoding=’utf-8’)方法,默认得到十六进制的字节码,当再次进行for循环的时候,可以得到十进制的结果,如使用bin方法可以得到二进制表示
  3. utf-8中一个汉字表示3字节,gbk中一个汉字表示2字节

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

a = 李璐
# 字符串转换为字节
b1 = bytes(a, encoding=utf-8)
print(b1)
b2 = bytes(a, encoding=gbk)
print(b2)
# 字节转换为字符串
print(str(b1, encoding=utf-8))
print(str(b2, encoding=gbk))

运行结果

1
2
3
4
b'\xe6\x9d\x8e\xe7\x92\x90'
b'\xc0\xee\xe8\xb4'
李璐
李璐