добавление текста в байтах char на char в вектор в python - PullRequest
2 голосов
/ 02 апреля 2020

Я хотел прочитать мой текст за символом и поместить это в вектор в байтах. После печати я вижу значения этих символов в коде ASCII. Как я могу это исправить.

Вот мой код:

text = b'ala ma kota a marysia ma rysia00'

t = []
def padding(txt):
    if len(txt) % 16 != 0:
        txt += b'0' * (16 - len(txt) % 16)
    print(txt)
    for i in range(len(txt)):
        t.append(txt[i])

padding(text)
print(t)

Мой вывод выглядит так: [65, 108, 97, 32, 109, 97, 32, 107, 111, 116, 97, 32, 97, 32, 77, 97, 114, 121, 115, 105, 97, 32, 109, 97, 32, 114, 121, 115, 105, 97, 48, 48] И должен выглядеть так: [b'a', b'l', b'a', b' ', b'm', b'a', b' ', ..............]

Ответы [ 2 ]

1 голос
/ 02 апреля 2020

Вы можете использовать chr() для преобразования числа в str, которое затем вы можете .encode(), чтобы получить bytes:

t = [chr(c).encode() for c in text]
1 голос
/ 02 апреля 2020

Можно просто использовать метод list ().

text = 'ala ma kota a marysia ma rysia00'
t = list(text)
print(t)
...