Bạn có thể sử dụng phương thức newba = bytearray() 4 để chuyển đổi số nguyên thành biểu diễn nhị phân của nó dưới dạng byte. Vượt qua newba = bytearray() 5 Bạn nhận được biểu diễn 2-complement:
In [1]: i = 34 In [2]: i.to_bytes(length=2, byteorder='big') Out[2]: b'\x00"'Sau đó, bạn có thể newba = bytearray() 6 newba = bytearray() 7 với kết quả:
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"')Thay đổi newba = bytearray() 8 thành newba = bytearray() 9 Bạn đảo ngược một cách hiệu quả thứ tự trong đó các byte được thêm vào bytearray.
Nếu bạn đang sử dụng python2, bạn có thể sử dụng một chức năng như:
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return resLàm thế nào để bạn chuyển đổi int thành bytearray?
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata)Khi bạn muốn chuyển đổi giá trị INT thành mảng byte, bạn có thể sử dụng phương thức tĩnh bytearray.tobytearray (). Phương thức này lấy đầu vào INT và trả về biểu diễn mảng byte của số.
newba = bytearray()Làm thế nào để bạn chuyển đổi int thành byte trong python?
for baelement in fileba newba += b'\xC0' #This works fine! newba += fileba [0] #Doesn't work - "can't concat int to bytearray" newba += baelement #Doesn't work - "can't concat int to bytearray" newba.extend (baelement ) #Doesn't work - "'int' object is not iterable"Tôi đang sử dụng Python 2.7.6, nhưng không thể sao chép byte từ bytearray này sang bên kia .. Điều gì có thể là vấn đề?
Khi bạn muốn chuyển đổi giá trị INT thành mảng byte, bạn có thể sử dụng phương thức tĩnh bytearray.tobytearray (). Phương thức này lấy đầu vào INT và trả về biểu diễn mảng byte của số.
Làm thế nào để bạn chuyển đổi int thành byte trong python?
Giá trị INT có thể được chuyển đổi thành byte bằng cách sử dụng phương thức int.to_bytes ().
Làm thế nào để bạn kết hợp hai byte của một chuỗi trong Python?
Kết hợp nhiều chuỗi byte Trong trường hợp bạn có chuỗi các chuỗi byte dài hơn mà bạn cần kết nối, tham gia cũ () sẽ hoạt động trong cả hai, Python 2.7 và 3. x. Trong Python 3, tiền tố chuỗi phân tách 'B' là rất quan trọng (tham gia một chuỗi các chuỗi loại byte với một phân tách loại byte).Bạn có thể nối các byte không?
Bạn chỉ có thể kết hợp một chuỗi với một chuỗi khác. Byte (A [0]) cung cấp cho bạn rằng vì A [0] là một số nguyên và như được ghi lại làm byte (someInteger) cung cấp cho bạn một chuỗi số byte bằng số 0 đó (ví dụ, byte (3) cung cấp cho bạn 3 byte byte) . {a [0]} là một tập hợp.
Cập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21:50:45 (UTC/GMT +8 giờ)
Syntax:
bytes([source[, encoding[, errors]]])Byte, bytearray:
Python hỗ trợ một loạt các loại để lưu trữ trình tự. Có sáu loại chuỗi: chuỗi, chuỗi byte (các đối tượng byte), mảng byte (đối tượng bytearray), danh sách, bộ dữ liệu và các đối tượng phạm vi.
Syntax:
bytearray([source[, encoding[, errors]]])Chuỗi chứa các ký tự unicode. Các chữ của chúng được viết bằng trích dẫn đơn hoặc đôi: 'Python', "Dữ liệu". Các đối tượng byte và bytearray chứa các byte đơn - cái trước là bất biến trong khi cái sau là một chuỗi có thể thay đổi. Các đối tượng byte có thể được xây dựng hàm tạo, byte () và từ các chữ; Sử dụng tiền tố B với cú pháp chuỗi bình thường: b'python '. Để xây dựng các mảng byte, hãy sử dụng hàm bytearray ().
- BYTE LIÊN QUAN
- Nếu đó là một số nguyên, mảng sẽ có kích thước đó và sẽ được khởi tạo bằng các byte null.
- Nếu nó là một đối tượng phù hợp với giao diện bộ đệm, bộ đệm chỉ đọc của đối tượng sẽ được sử dụng để khởi tạo mảng byte.
- Nếu nó có thể hiểu được, nó phải là một số nguyên của các số nguyên trong phạm vi 0
Không có đối số, một mảng có kích thước 0 được tạo.
Tạo đối tượng byte trong Python
Ví dụ 1 :
Mã số :
>>> x = b"Bytes objects are immutable sequences of single bytes" >>> print(x) b'Bytes objects are immutable sequences of single bytes' >>>Ví dụ-2:
Code:
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"') 0Output:
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"') 1Ví dụ-3:
Mã số :
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"') 2Output:
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"') 3Ví dụ-2:
Ví dụ-3:
Code:
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"') 4Output:
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"') 5Ví dụ-2:
Code:
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"') 6Output:
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"') 7Ví dụ-3:
Code:
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"') 8Output:
In [3]: ba = bytearray() In [4]: ba.extend(i.to_bytes(length=2, byteorder='big')) In [5]: ba Out[5]: bytearray(b'\x00"') 9Chuyển đổi chuỗi hex thành byte
Ví dụ 1:
Mã số :
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return res 0Output:
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return res 1Ví dụ-2:
Mã số :
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return res 2Output:
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return res 3Mã số đại diện cho một ký tự của đối tượng byte trong Python
Ví dụ 1:
Code:
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return res 4Output:
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return res 5Ví dụ-2:
Code:
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return res 6Output:
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return res 7Ví dụ-3:
Ví dụ 1:
Code:
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return res 8Output:
def to_bytes(num, length, order): res = bytearray(length) for i in range(length): res[i] = num & 0xff num >>= 8 if num: raise OverflowError("Number {} doesn't fit into {} bytes.".format(num, length)) if order == 'little': res.reverse() return res 9Ví dụ-2:
Code:
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata) 0Output:
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata) 1Example-3:
Code:
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata) 2Output:
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata) 3Mã số :
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata) 4Mã số đại diện cho một ký tự của đối tượng byte trong Python
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata) 5Xác định một ký tự bảng ánh xạ để sử dụng với đối tượng byte trong Python
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata) 6Chuyển đổi byte thành hex trong python
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata) 7Cách lấy ký tự từ mã số trong các đối tượng byte trong Python
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata) 8Xác định độ dài của một đối tượng byte trong Python
filedata = open("file.bin", "rb").read() fileba = bytearray(filedata) 9Sử dụng các toán tử + và * với các đối tượng byte trong Python
Làm thế nào để có được một byte từ một đối tượng byte trong Python?Tạo một đối tượng bytearray trong Python
newba = bytearray() 1Sự khác biệt giữa đối tượng byte và bytearray trong Python
newba = bytearray() 2newba = bytearray() 0
newba = bytearray() 3Chuyển đổi một byte thành bytearray Python break, continue
Next: Python String
Cắt một đối tượng byte trong Python