本文共 1947 字,大约阅读时间需要 6 分钟。
在 Python 编码时,页面顶端需要添加如下行:
# -*- coding: UTF-8 -*- 字符编码
A 的编码是 65,小写字母 z 的编码是 122。多语言编码问题
Shift_JIS,韩国使用 Euc-kr。这些不同的编码标准会导致多语言混合文本中出现乱码问题。Unicode 编码的出现
字符编码的演变
Python 函数
ord():获取字符的整数编码。例如,ord('A') 返回 65,ord('中') 返回 25991。chr():将整数转换为对应的字符。例如,chr(20013) 返回 "中"。encode():将字符串转换为字节流。例如,'ABC'.encode('ascii') 返回 b'ABC'。decode():将字节流转换为字符串。例如,b'ABC'.decode('ascii') 返回 'ABC'。字符串操作
'Hello World!'[0] 返回 'H','Python Runoob'[1:5] 返回 'ytho'。'Hello World![:6] + 'Runoob!' 更新为 'Hello Runoob!'。replace() 方法替换字符。例如,'ales'.replace('l','p') 替换为 'aples'。strip() 方法去掉首尾空格。例如,' lkjd'.strip() 返回 'lkjd'。title()、upper() 和 lower() 方法分别将字符串转换为首字母大写、全大写和全小写。格式化字符串
% 格式化字符串。例如,'Hello, %s' % 'world' 返回 'Hello, world'。format() 方法替换占位符。例如,'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125) 返回 'Hello, 小明, 成绩提升了 17.1%'。特殊字符处理
%% 表示单个 % 字符。例如,'growth rate: %d %%' % 7 返回 'growth rate: 7 %'。字符串长度
len('中文') 返回 2,len(b'ABC') 返回 3,len('中文'.encode('utf-8')) 返回 6。字符串连接与重复
+ 连接字符串。例如,'Hello' + 'Python' 返回 'HelloPython'。* 重复字符串。例如,'Hello' * 2 返回 'HelloHello'。成员运算符
in 和 not in 检查字符串中是否包含特定字符。例如,'"H" in 'Hello' 返回 True,'"M" not in 'Hello' 返回 True。原始字符串
r 或 R 创建原始字符串,避免转义特殊字符。例如,print r'\n' 和 print R'\n' 都输出换行符,但形式不同。在实际应用中,可能会遇到字符编码问题。例如,读取非 UTF-8 字符流时需要使用 decode('utf-8', errors='ignore') 忽略错误字符。
在计算机系统中,统一使用 Unicode 编码,当需要保存或传输时,转换为 UTF-8 编码。Python 提供了丰富的字符串和字节操作功能,能够方便地进行字符编码与解码操作。
转载地址:http://tpnj.baihongyu.com/