嗨,我是Python的新手,我正在尝试将一串字符转换为Python中的ASCII,但我不知道该怎么做
所以我的代码的相关部分可能是这个
nav {
text-size-adjust: 200%;
}
nav ul {
text-size-adjust: 300%;
}
nav h1 {
text-size-adjust: 400%;
}
因此它将输入放在一个列表中,因为它是单独的字符而不是它们的整个字符串,但后来我不知道如何将它转换为ASCII。我知道我必须使用ord()但我不明白当它不止一个字符时如何做,因为我不知道输入是什么,所以我不能像ord(A)那样做。< / p>
我该怎么做?
答案 0 :(得分:0)
您需要创建一个for循环来遍历每个字符并将它们转换为ASCII。
您已经拥有l
,这是字符串中每个字符的列表。因此,循环遍历l
并使用ord()将列表中的每个字符转换为ASCII值。
答案 1 :(得分:0)
string = input("enter string: ")
for i in string:
if i != ' ': # ignoring space char
print(i, ord(i))
输入
sample string
输出
s 115
a 97
m 109
p 112
l 108
e 101
s 115
t 116
r 114
i 105
n 110
g 103
输出甚至可以保存到另一个列表中。
答案 2 :(得分:0)
您可以使用list comprehension,如下所示:
string = input(“Enter a line of text: “)
list_of_characters = list(string)
list_of_ord_values = [ord(character) for character in list_of_characters]
请注意,由于字符串是可迭代的,因此您可以跳过中间步骤:
list_of_ord_values = [ord(character) for character in string]
答案 3 :(得分:0)
这是一种时间复杂度有效的方法。假设您的列表是单个字符:
l = ['a', 'b', 'c']
ascii_values = map(ord, l)
这会将每个字符映射到指定的ascii值。
答案 4 :(得分:0)
如果您使用的是python 2,默认情况下字符串将编码为ascii。如果您使用的是python 3,则可以使用内置字符串方法编码将字符串转换为ascii:
ascii = string.encode('ascii')
如果您希望将其表示为列表,则可以尝试单独编码,因为ascii字符的默认迭代表示是整数。 (尝试[x for b in b'binary string!'])
ascii_chars = [char.encode('ascii') for char in string]