内置函数 str() 用于将给定对象转换为字符串格式。输出字符串的行为取决于参数 encoding 和 errors。
str(object, encoding='utf-8', errors='strict') #where object is whoes string representation needed
接受三个参数。参数 errors 有六种类型,如下所示:
strict - 在失败时引发 UnicodeDecodeError 异常。
ignore - 忽略结果中不可编码的 Unicode 字符
replace - 将不可编码的 Unicode 字符替换为问号
xmlcharrefreplace - 插入 XML 字符引用,而不是不可编码的 Unicode 字符
backslashreplace - 插入 \uNNNN 转义序列,而不是不可编码的 Unicode 字符
namereplace - 插入 \N{...} 转义序列,而不是不可编码的 Unicode 字符
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| 对象 | 要返回其字符串表示形式的对象。如果未提供,则返回空字符串 | 必需 |
| encoding(编码) | 给定对象的编码。如果未提供,则默认为 UTF-8 | 可选 |
| errors(错误处理) | 解码失败时的响应。默认为 'strict' | 可选 |
它返回一个可打印格式的字符串对象。如果参数 encoding 和 errors 缺失,str() 函数会在内部调用对象的 __str__() 方法。
| 输入 | 返回值 |
|---|---|
| 如果对象 | 字符串 |
output = str(25)
print(output)
输出
25
# bytes
byt = bytes('pythön', encoding='utf-8')
print(str(byt, encoding='ascii', errors='ignore'))
输出
pythn
如果对象是字节或字节数组,str() 会在内部调用 bytes.decode(encoding, errors)。