Почему мои преобразования символов в байты не работают в Python? - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь понять преобразование данных в байты в Python. Думаю, я неправильно понимаю здесь нечто фундаментальное. Этот вопрос может помочь развеять некоторые из моих неправильных представлений. Помимо прочего, я хочу разбить строку на символы и преобразовать каждый символ в байт. Вот шесть разных попыток, которые я предпринял. Что мне не удается gr asp?

import sys

data = 'String'

a = data.encode('utf-8')
print(a)
for byte in a:
    print(sys.getsizeof(byte)) # I expect to get 1; I get 14.

b = bytes(data, 'utf-8')
print(b)
for byte in b:
    print(sys.getsizeof(byte)) # I expect to get 1; I get 14.

c = bytearray()
c.extend(map(ord, data))
print(c)
for byte in c:
    print(sys.getsizeof(byte)) # I expect to get 1; I get 14.

for char in data:
    d = char.encode('utf-8')
    print(d)
    print(sys.getsizeof(d)) # I expect to get 1; I get 18.

e  = data.encode('ascii')
print(e)
for byte in e:
    print(sys.getsizeof(byte)) # I expect to get 1; I get 14.

bytearray = (b'ABCD')
for each_byte in bytearray:
    print(sys.getsizeof(each_byte)) # I expect to get 1; I get 14.
...