Python chuyển thành byte

Câu hỏi chính là "chuỗi byte thích hợp" cho một số nguyên là gì trong ngữ cảnh chức năng thư viện của bạn

Tuy nhiên, ví dụ của bạn làm như sau

Ví dụ 1____0

Ở đây > bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 3 là một đối tượng byte có độ dài 1 chứa byte đại diện cho ký tự ASCII cho chữ số 1. Giá trị của nó là 49 (bạn có thể thấy giá trị này bằng cách nhập > bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 6 vào trình bao Python của mình)

Ví dụ 2>>> i=1 >>> print(bytes(i))

Ở đây bạn đang tạo một đối tượng byte mới có độ dài 1, Python đó sẽ điền vào giá trị 0. Xem > bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 7 để biết tại sao điều này lại xảy ra

bytes(iterable_of_ints) -> bytes bytes(string, encoding[, errors]) -> bytes bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer bytes(int) -> bytes object of size given by the parameter initialized with null bytes bytes() -> empty bytes object Construct an immutable array of bytes from: - an iterable yielding integers in range(256) - a text string encoded using the specified encoding - any object implementing the buffer API. - an integer Ví dụ 3_______10

Ở đây, bạn đang chuyển đổi một số nguyên (trong đó có thể cần nhiều hơn một byte để lưu trữ giá trị) thành một đối tượng byte chứa chính xác các byte đó. Tuy nhiên, vì giá trị số nguyên của bạn rất nhỏ, nên nó vừa với một byte và sau đó thứ tự của các byte trở nên không liên quan

Dung dịch?

Nếu tôi hiểu bạn một cách chính xác thì đầu ra của ví dụ 1, là đầu ra chính xác, điều này cho thấy rằng thứ bạn cần là một đối tượng > bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 8 chứa các chữ số ASCII của biểu diễn thập phân của số nguyên. Để có được điều này, hãy làm như sau

Trong hướng dẫn này, chúng ta sẽ xem xét cách chuyển đổi một đối tượng kiểu int thành đối tượng kiểu byte trong Python với sự trợ giúp của một số ví dụ

Làm cách nào để chuyển đổi int thành byte trong Python?

Bạn có thể sử dụng phương thức lớp >>> i=1 >>> print(bytes(i)) 7 # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))0 để chuyển đổi một đối tượng int thành một mảng byte đại diện cho số nguyên đó. Sau đây là cú pháp –

# int to bytes int.to_bytes(length, byteorder, signed)

Nó có các đối số sau -

  • # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))1 – Số byte sử dụng để biểu diễn số nguyên. Nếu số nguyên không thể biểu diễn được với số byte đã cho, thì một # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))2 sẽ xuất hiện
  • # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))3 – Xác định thứ tự byte được sử dụng để biểu diễn số nguyên. Sử dụng # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))4 làm thứ tự byte để có byte quan trọng nhất ở đầu mảng byte. Sử dụng # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))5 làm thứ tự byte để có byte quan trọng nhất ở cuối mảng byte
  • ________ 86 – Xác định xem có sử dụng phần bù hai để biểu diễn số nguyên hay không. Nó là một tham số tùy chọn và là # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))7 theo mặc định. Hữu ích trong việc chuyển đổi số nguyên đã ký thành byte

ví dụ

Hãy xem xét một số ví dụ về cách sử dụng hàm # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))0 để chuyển đổi một số nguyên thành byte

Sử dụng 'lớn' như # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))3

Hãy chuyển đổi giá trị số nguyên > bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 90 thành một mảng byte có độ dài 2 và với “big” là > bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 91

________số 8

đầu ra

> bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 9

Chúng tôi nhận được giá trị trả về dưới dạng byte với byte quan trọng nhất ở đầu

Sử dụng 'ít' như # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))3

Hãy sử dụng ví dụ tương tự như trên nhưng với “little” là # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))3

> bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 5

đầu ra

> bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 6

Chúng tôi nhận được byte quan trọng nhất ở cuối mảng byte

Số nguyên âm thành byte với > bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 94

Nếu bạn sử dụng giá trị mặc định > bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 95 cho số nguyên âm, bạn sẽ nhận được giá trị # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))2

>>> i=1 >>> print(bytes(i)) 0

đầu ra

>>> i=1 >>> print(bytes(i)) 1

Để chuyển đổi số nguyên âm thành byte bằng hàm # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))0, hãy vượt qua > bytes(5) b'\x00\x00\x00\x00\x00' > bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 94. Nó sẽ sử dụng phần bù hai để biểu diễn số nguyên

>>> i=1 >>> print(bytes(i)) 4

đầu ra

>>> i=1 >>> print(bytes(i)) 5

Chúng tôi nhận được các byte cho số nguyên âm

Để biết thêm về chức năng # integer variable num = 7 # integer to bytes num_bytes = num.to_bytes(2, byteorder='big') # display result and type print(num_bytes) print(type(num_bytes))0, hãy tham khảo tài liệu của nó

Bạn cũng có thể quan tâm đến -

  • Python – Chuyển đổi số nguyên thành chuỗi nhị phân
  • Python – Chuyển đổi số nguyên thành chuỗi


Đăng ký nhận bản tin của chúng tôi để biết thêm thông tin và hướng dẫn.
Chúng tôi không gửi thư rác và bạn có thể chọn không tham gia bất kỳ lúc nào.


Tác giả

  • Piyush Raj

    Piyush là một chuyên gia dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trước đây, anh ấy từng là Nhà khoa học dữ liệu cho ZS và có bằng kỹ sư của IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trong các dự án phụ

    B '\ x00 có nghĩa là gì trong Python?

    Đại diện '\x00' không được đọc theo nghĩa đen. Biểu diễn này có nghĩa là byte có giá trị 0x00 . Nếu một thành viên của đối tượng byte có thể được hiển thị dưới dạng ký tự ASCII có thể in được, thì nó sẽ được hiển thị như vậy.

    Làm cách nào để chuyển đổi từ điển thành byte trong Python?

    Phương thức. Sử dụng mã hóa() + kết xuất() + giải mã() + tải() .

    Có bao nhiêu byte là một int trong Python?

    Để an toàn, Python phân bổ một số byte cố định không gian trong bộ nhớ cho mỗi biến thuộc loại số nguyên thông thường, được gọi là int trong Python. Thông thường, một số nguyên chiếm bốn byte hoặc 32 bit.

Chủ đề