python中 str、repr、ascii 转字符串的区别
a = '中国'
b = 'chinese'
print(a)
print(str(a))
print(repr(a))
print(ascii(a))
print(ascii(b))
中国
中国
'中国'
'\u4e2d\u56fd'
'chinese'
str(object="")
将对象转化为适于人阅读的形式(返回一个对象的string格式)
- object – 对象
repr(object)
返回一个对象的 字符串格式
ascii(object)
ascii 英 [ˈæski]
进制;函数;美国信息互换标准码;MODBUS协议
ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串,但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。
生成字符串类似 Python2 版本中 repr() 函数的返回值。
首先,前面的 \ 表示转义
\x:只是 16 进制的意思,后边跟两位,则表示单字节编码;
\d:十进制;\o:八进制;
对于 \xaa ⇒ chr(0xaa) ⇒ chr(16*a+a)
\u:unicode 码;
通常其后跟 4 个 16 进制数,所以,通常为 unicode-16
Python:字符串的decode和encode成员函数,可对其进行转换
附
chr( c )
用一个整数作参数,返回一个对应的字符
- c – 可以是 10 进制也可以是 16 进制的形式的数字,数字范围为 0 到 1,114,111 (16 进制为0x10FFFF)
ord( c )
ord() 函数是 chr() 函数(对于 8 位的 ASCII 字符串)的配对函数,它以一个字符串(Unicode 字符)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值。
- c – 字符
>>> chr(97)
'a'
>>>ord('a')
97
>>> type(chr(97))
<class 'str'>
>>> type(ord("a"))
<class 'int'>
数据整理来源: 内置函数 | 菜鸟教程