我有此代码:
str = "text"
x = str.encode('ascii')
print(x)
我得到了: b'text'
我想得到这个: 字符串为“ 116101120116”。 我想要像here这样的解决方案。
答案 0 :(得分:1)
print ([ord(c) for c in 'text'])
# [116, 101, 120, 116]
来自docs:
给出一个长度为1的字符串,如果参数是unicode对象,则返回一个整数,该整数表示字符的Unicode代码点;如果参数是8位字符串,则返回字节的值。例如,ord('a')返回整数97,ord(u'\ u2020')返回8224。这是8位字符串的chr()和unicode对象的unichr()的逆。如果指定了unicode参数,并且Python是使用UCS2 Unicode构建的,则字符的代码点必须在[0..65535]范围内;否则,字符串长度为2,并且将引发TypeError。
答案 1 :(得分:0)
使用map将每个字符映射到其ascii值
str1 = "text"
list(map(ord,str1))
如果需要作为字符串输出
str1 = "text"
' '.join(list(map(str,map(ord,str1))))