Discuss / Python / 【2021.1.11】笔记——关于Python字符串的一些小结

【2021.1.11】笔记——关于Python字符串的一些小结

Topic source

kk的二哈

#1 Created at ... [Delete] [Delete and Lock User]

- python语言对内存的读写也使用的unicode编码,使用ord()函数可以获得字符的unicode编码,使用chr()函数可以获得某个unicode编码对应的字符。此外,使用转义符\u+十六进制数字也可以表示出字符,例如`\u4e2d`表示字符'中'

- 如果python需要进行网络传输,则会使用bytes。通过encode()方法可以把一个str类型的变量编码成bytes类型,bytes类型的每个字符都是一个字节。而encode方法也提供参数,例如ascii、utf-8等指定编码方式。encode()方法得到的bytes类型写作b'ABC'(encode前是英文字母),其中每个字符都是一个字节;也可写成十六进制数字b'\xe4\xb8\xad',这里表示3个字节(encode之前一般是非ascii码字符集,一般encode参数选择'utf-8'

- 同理,从网络上读取到内容后需要用decode()函数进行解码,参数可以选择不同的解码方式,例如acsii、utf-8等。为了避免不易要的麻烦,encode和decode都选用utf-8编码

- len()函数显示str类型变量的长度,显示bytes类型变量的字节数

- Python中如何贯彻utf-8编码这一准则,首先,使用编辑器的时候保存为utf-8编码without BOM(https://www.cnblogs.com/zhongru_tu/archive/2008/04/11/1147792.html 为什么要使用 without BOM);其次,在文件开头加上这么一句`# -*- coding: utf-8 -*-`告诉解释器读取源码时按照UTF-8编码读取

- 格式化有三种方式:使用%(%d, %f, %s, %x等)、使用format函数、使用f-string,下面举三个例子来演示:

print('%d,%s,%.2f,%x' % (15, 'HeiHei', 16.5555, 0xbbc))

print('you are {0}{1:.2f} tall boy'.format('a', 172.5787))

a = 3.1414141414

b = 3.14159262

print(f'{a} is less than {b}.')

kk的二哈

#2 Created at ... [Delete] [Delete and Lock User]

python中字符串的类型为str,在内存中使用unicode编码,当涉及到网络传输时,str类型的字符串会通过encode()函数编码为bytes类型(例如b`ABC`中每个字符为一个字节)


  • 1

Reply