Cho một chuỗi byte. Nhiệm vụ là viết chương trình Python để chuyển byte chuỗi này thành danh sách các số nguyên.
Phương pháp 1. Bằng cách sử dụng hàm list[]
Hàm list[] được sử dụng để tạo danh sách từ iterable đã chỉ định được lấy làm tham số của nó
cú pháp
danh sách [[có thể lặp lại]]
Thông số. Hàm này chấp nhận một tham số duy nhất được minh họa bên dưới
- lặp đi lặp lại. Đây là trình tự được chỉ định sẽ được tạo thành một danh sách khác
Giá trị trả về. Hàm này trả về một danh sách mới được tạo từ iterable đã cho được truyền dưới dạng đối số của nó
Ví dụ. Chương trình Python chuyển chuỗi byte thành danh sách các số nguyên
Python3
18
19
10
11
12
13
14
10
11
12
13
14
15
16
17
18
đầu ra
[71, 70, 71]
Phương pháp 2. Bằng cách sử dụng hàm for loop và ord[]
Hàm ord[] được sử dụng để trả về số đại diện cho mã Unicode của một ký tự byte được chỉ định
cú pháp
thứ tự [ký tự]
Thông số. Hàm này chấp nhận một tham số duy nhất được minh họa bên dưới
- nhân vật. Đây là chuỗi byte được chỉ định
Giá trị trả về. Hàm này trả về số đại diện cho mã Unicode của một ký tự byte được chỉ định
Ví dụ. Chương trình Python chuyển chuỗi byte thành danh sách các số nguyên
Python3
18
19
10
102
103
13
105
________ 106 ________ 23 ________ 108
109
180
________ 181 ________ 182 ________ 183 ________ 184
185
186
185
188
185
190
185
192
193
16
182
196
197
15
199
đầu ra
[71, 70, 71, 32, 105, 115, 32, 97, 32, 67, 83, 32, 80, 111, 114, 116, 97, 108]
Phương pháp 3. Bằng cách sử dụng hàm from_bytes[]
Hàm from_bytes[] được sử dụng để chuyển đổi chuỗi byte đã chỉ định thành các giá trị int tương ứng của nó
Ba đối số của phương thức này là tùy chọn. Đối số đầu tiên được sử dụng để khởi tạo danh sách byte. Nếu đối số đầu tiên là chuỗi, thì đối số thứ hai được sử dụng để mã hóa. Cuối cùng, đối số thứ ba được sử dụng để hiển thị lỗi nếu quá trình mã hóa không thành công
Cú pháp của phương thức byte[]
byte [[ data_source [, encoding [, errors]]]]
Tất cả các đối số của hàm bytes[] là tùy chọn, giống như phương thức bytearray[]. Chức năng của các đối số này cũng giống như phương thức bytearray[] đã đề cập ở trên
Phương pháp chuyển đổi bytearray thành byte trong Python được hiển thị bên dưới, sử dụng một số ví dụ đơn giản để hiểu rõ hơn về quy trình này
ví dụ 1. Chuyển đổi dữ liệu danh sách từ bytearray thành byte
Khi hàm bytearray[] chỉ chứa một đối số, giá trị của đối số sẽ là một dữ liệu từ điển hoặc biến. Ví dụ sau đây cho thấy cách một đối tượng từ điển có thể được chuyển đổi thành một đối tượng bytearray và cách một đối tượng bytearray sau đó có thể được chuyển đổi thành một đối tượng byte. Tiếp theo, vòng lặp for đầu tiên được sử dụng để hiển thị các giá trị của bảng dịch mã ASCII và vòng lặp for thứ hai được sử dụng để hiển thị các ký tự của các mã ASCII tương ứng
#. /usr/bin/env python3
# Xác định danh sách
dữ liệu danh sách =< . [72, 69, 76, 76, 79]
# Print the content of the list
print["\nThe dictionary values are :\n ", dữ liệu danh sách .
# Initialize bytearray object with list
byteArrayObject = bytearray[listdata]
# Print bytearray object value
print["\nThe output of bytearray[] method :\n ", byteArrayObject .
# Convert the bytearray object into bytes object
byteObject = bytes[byteArrayObject]
# Print bytes object value
print["\nThe output of bytes[] method :\n ", byteObject .
print["\nThe ASCII values of bytes"]
# Iterate the bytes object using loop
for val in byteObject:
in[ val ,< . ' ', end='']
print["\nThe string values of bytes"]
# Iterate the bytes object using loop
for val in byteObject:
in[chr[