Hướng dẫn python convert bytes to list of int - python chuyển đổi byte thành danh sách int

Tôi có thể chuyển đổi một danh sách các int thành một mảng byte với các mục sau:

bytes[[17, 24, 121, 1, 12, 222, 34, 76]]
Out[144]: b'\x11\x18y\x01\x0c\xde"L'
bytes[[1, 2, 3]]
Out[145]: b'\x01\x02\x03'

Điều tôi muốn bây giờ là đưa chuỗi mảng byte trở lại danh sách ban đầu của nó. Có một chức năng Python dễ dàng để làm điều đó? Tôi đã tìm thấy như sau:. Is there an easy python function to do that? I found the following:

int.from_bytes[b'\x11\x18y\x01\x0c\xde"L', byteorder='big', signed=False]
Out[146]: 1231867543503643212

Tôi không hoàn toàn chắc chắn những gì đang xảy ra ở đây. Làm thế nào là chuyển đổi xảy ra và những gì đầu ra biểu thị. Vì vậy, nếu bất cứ ai có thể cung cấp một số bối cảnh hoặc cái nhìn sâu sắc, tôi sẽ biết ơn

Đưa ra một chuỗi byte. Nhiệm vụ là viết một chương trình Python để chuyển đổi byte chuỗi này thành danh sách các số nguyên. & NBSP;

Phương pháp 1: Bằng cách sử dụng hàm list []By using list[] function

Hàm Danh sách [] được sử dụng để tạo một danh sách từ số khác được chỉ định được thực hiện dưới dạng tham số của nó. list[] function is used to create a list from the specified iterable taken as its parameter.

Syntax:

list[[iterable]]

Tham số: Hàm này chấp nhận một tham số duy nhất được minh họa bên dưới:This function accepts a single parameter that is illustrated below:

  • Có thể lặp lại: Đây là chuỗi được chỉ định sẽ được tạo như một danh sách khác.This is the specified sequence that is going to be created as another list.

Giá trị trả về: Hàm này trả về một danh sách mới được tạo ra từ số đó đã được thông qua dưới dạng đối số của nó. This function returns a new list created out of the given iterable passed as its arguments.

Ví dụ: Chương trình Python cho chuỗi byte vào danh sách các số nguyênPython program to a byte string to a list of integers

Python3

Output:

[71, 70, 71]

[71, 70, 71]
3=
[71, 70, 71]
5
[71, 70, 71]
6
By using for loop and ord[] function

[71, 70, 71]
7=
[71, 70, 71]
9
1
0
1
1
1
2ord[] function is used to return the number representing the Unicode code of a specified byte character.

Syntax:

ord[character]

Ví dụ 2: Chương trình Python cho chuỗi byte vào danh sách các số nguyênThis function accepts a single parameter which is illustrated below:

  • [71, 70, 71]
    3=
    [71, 70, 71]
    5
    1
    8
    This is the specified byte string.

[71, 70, 71]
7=
[71, 70, 71]
9
1
0
1
1
-1024
4=
-1024
6
1
2
This function returns the number representing the Unicode code of a specified byte character.

Ví dụ: Chương trình Python cho chuỗi byte vào danh sách các số nguyênPython program to a byte string to a list of integers

Python3

[71, 70, 71]
3=
[71, 70, 71]
5
[71, 70, 71]
6

[71, 70, 71]
7=
[71, 70, 71]
9
1
0
1
1
1
2

Ví dụ 2: Chương trình Python cho chuỗi byte vào danh sách các số nguyên

int.from_bytes[b'\x11\x18y\x01\x0c\xde"L', byteorder='big', signed=False]
Out[146]: 1231867543503643212
5
int.from_bytes[b'\x11\x18y\x01\x0c\xde"L', byteorder='big', signed=False]
Out[146]: 1231867543503643212
6
int.from_bytes[b'\x11\x18y\x01\x0c\xde"L', byteorder='big', signed=False]
Out[146]: 1231867543503643212
7
int.from_bytes[b'\x11\x18y\x01\x0c\xde"L', byteorder='big', signed=False]
Out[146]: 1231867543503643212
8
int.from_bytes[b'\x11\x18y\x01\x0c\xde"L', byteorder='big', signed=False]
Out[146]: 1231867543503643212
2
[71, 70, 71]
0

[71, 70, 71]
1
[71, 70, 71]
2

Output:

[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 [] By using from_bytes[] function

Hàm from_Bytes [] được sử dụng để chuyển đổi chuỗi byte được chỉ định thành các giá trị int tương ứng của nó.from_bytes[] function is used to convert the specified byte string into its corresponding int values.

Syntax:

int.from_bytes [byte, byteorder, *, đã ký = false]

Tham số: Hàm này chấp nhận một số tham số được minh họa dưới đây: This function accepts some parameters which are illustrated below:

  • Byte: Đối tượng byteA byte object
  • ByteOrder: Tham số này xác định thứ tự biểu diễn của giá trị số nguyên. Byteorder có thể có các giá trị như là một trong những điều đáng kể nhất được lưu trữ ở cuối và ít nhất là ở đầu, hoặc lớn, nơi MSB được lưu trữ khi bắt đầu và LSB ở cuối. Thứ tự byte lớn tính toán giá trị của một số nguyên trong cơ sở 256.This parameter determines the order of representation of the integer value. byteorder can have values as either “little” where most significant bit is stored at the end and least at the beginning, or big, where MSB is stored at start and LSB at the end. Big byte order calculates the value of an integer in base 256.
  • Đã ký: Giá trị mặc định của nó là sai. Tham số này cho biết có thể đại diện cho 2 bổ sung của một số hay không. Its default value is False. This parameter Indicates whether to represent 2’s complement of a number.

Giá trị trả về: Hàm này trả về một int tương đương với byte đã cho. This function returns an int equivalent to the given byte.

Ví dụ: Chương trình Python cho chuỗi byte vào danh sách các số nguyênPython program to a byte string to a list of integers

Python3

[71, 70, 71]
3=
[71, 70, 71]
5
[71, 70, 71]
6

[71, 70, 71]
7=
[71, 70, 71]
9
1
0
1
1
1
2

[71, 70, 71]
1
1
4

Output:

1

Ví dụ 2: Chương trình Python cho chuỗi byte vào danh sách các số nguyênPython program to a byte string to a list of integers

Python3

[71, 70, 71]
3=
[71, 70, 71]
5
1
8

[71, 70, 71]
7=
[71, 70, 71]
9
1
0
1
1
-1024
4=
-1024
6
1
2

[71, 70, 71]
1
1
4

Output:

-1024

Độ phức tạp về thời gian và không gian của tất cả các phương pháp là như nhau ::

Độ phức tạp về thời gian: O [n]O[n]

Không gian phụ trợ: O [n]O[n]


Làm thế nào để bạn chuyển đổi byte thành số nguyên trong Python?

Cú pháp: int.from_bytes [byte, byteorder, *, đã ký = false].
Parameters:.
Trả về - một int tương đương với byte đã cho ..

Làm thế nào để bạn chia byte trong Python?

Giải pháp: Để chia chuỗi byte thành một danh sách các dòng Dòng Dòng là một chuỗi byte, chính nó sử dụng phương thức byte.split [Delimiter] và sử dụng ký tự newline byte b '\ n' làm dấu phân cách.use the Bytes. split[delimiter] method and use the Bytes newline character b'\n' as a delimiter.

Làm thế nào để bạn tạo một mảng byte trong Python?

String = "Python rất thú vị."# Chuỗi có mã hóa 'UTF-8' ARR = byteArray [Chuỗi, 'UTF-8'] in [ARR] Chạy mã ..
Kích thước = 5. mảng = bytearray [kích thước] in [mảng] mã chạy ..
rlist = [1, 2, 3, 4, 5] mảng = bytearray [rlist] in [mảng] mã chạy ..

Làm thế nào để bạn chuyển đổi int sang giá trị byte?

Phương thức bytevalue [] của lớp số nguyên của gói java.lang chuyển đổi số nguyên đã cho thành một byte sau khi chuyển đổi nguyên thủy thu hẹp và trả về nó [giá trị của đối tượng số nguyên dưới dạng byte].Ngoài ra, hãy nhớ phương thức này không ghi đè phương thức byteValue [] của lớp số. lang package converts the given Integer into a byte after a narrowing primitive conversion and returns it [value of integer object as a byte]. Also, remember this method does override byteValue[] method of the Number class.

Chủ Đề