如何在python中将字符列表转换为ASCII?

时间:2017-11-13 19:49:40

标签: python

嗨,我是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>

我该怎么做?

5 个答案:

答案 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]