Chuyển đổi Bytearray sang Byte trong Python

Convert Bytearray Bytes Python



Python hỗ trợ nhiều loại đối tượng dữ liệu khác nhau. Hai trong số đó là các đối tượng bytearraybyte . Các bytearray () hàm trả về một đối tượng mảng byte. Đối tượng này có thể thay đổi và hỗ trợ số nguyên từ 0 đến 255. byte () hàm trả về các đối tượng byte, không thể thay đổi và hỗ trợ các số nguyên từ 0 đến 255. Bài viết này sẽ mô tả các hàm này và giải thích cách bytearray các đối tượng có thể được chuyển đổi thành byte các đối tượng.

Cú pháp của phương thức bytearray ()

bytearray ([nguồn dữ liệu[,mã hóa[,sai sót]]])

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 các 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 mã hóa không thành công.







Cú pháp của byte () Phương thức

byte ([nguồn dữ liệu[,mã hóa[,sai sót]]])

Tất cả các đối số của byte () chức năng là tùy chọn, như bytearray () phương pháp. Chức năng của các đối số này cũng giống như bytearray () phương pháp, đã đề cập ở trên.



Phương pháp chuyển đổi bytearray đến byte bằng 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ề quá trình này.



Ví dụ 1: Chuyển đổi dữ liệu danh sách từ bytearray sang byte

Khi hàm bytearray () chỉ chứa một đối số, giá trị của đối số sẽ là một biến hoặc dữ liệu từ điể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
danh sách= [72, 69, 76, 76, 79]
# In nội dung của danh sách
in(' Các giá trị từ điển là: ',danh sách)

# Khởi tạo đối tượng bytearray với danh sách
byteArrayObject= bytearray(danh sách)
# In giá trị đối tượng bytearray
in(' Đầu ra của phương thức bytearray (): ',byteArrayObject)

# Chuyển đối tượng bytearray thành đối tượng byte
byteObject= byte(byteArrayObject)
# In giá trị đối tượng byte
in(' Đầu ra của phương thức byte (): ',byteObject)

in(' Giá trị ASCII của byte ')
# Lặp lại đối tượng byte bằng vòng lặp
giờtrongbyteObject:
in(giờ,'',kết thúc='')

in(' Các giá trị chuỗi của byte ')
# Lặp lại đối tượng byte bằng vòng lặp
giờtrongbyteObject:
in(chr(giờ),'',kết thúc='')

Đầu ra

Kết quả sau sẽ xuất hiện sau khi chạy tập lệnh. Ở đây, 72, 69, 76 và 79 lần lượt là mã ASCII của ‘H,’ ‘E,’ ‘L’ và ‘O’.



Ví dụ 2: Chuyển đổi dữ liệu chuỗi từ bytearray sang byte

Ví dụ sau cho thấy việc chuyển đổi các đối tượng bytearray thành các đối tượng byte trong dữ liệu chuỗi. Hai đối số được sử dụng trong phương thức bytearray () của tập lệnh này. Đối số đầu tiên chứa giá trị chuỗi, trong khi đối số thứ hai chứa chuỗi mã hóa. Ở đây, mã hóa ‘utf-8’ được sử dụng để chuyển đổi thành một đối tượng bytearray. Các giải mã () phương thức được sử dụng trong script để chuyển đổi các đối tượng byte thành dữ liệu chuỗi. Cùng một bảng mã được sử dụng tại thời điểm chuyển đổi.

#! / usr / bin / env python3

# Lấy một giá trị chuỗi
chữ= đầu vào('Nhập bất kỳ văn bản nào: ')

# Khởi tạo đối tượng bytearray với chuỗi và mã hóa
byteArrObj= bytearray(chữ, 'utf-8')
in(' Đầu ra của phương thức bytesarray (): ',byteArrObj)

# Chuyển bytearray thành byte
byteObj= byte(byteArrObj)
in(' Đầu ra của phương thức byte (): ',byteObj)

# Chuyển đổi giá trị byte thành chuỗi bằng cách sử dụng mã hóa
in(' Các giá trị chuỗi của byte ')
in(byteObj.giải mã('utf-8'))

Đầu ra

Kết quả sau sẽ xuất hiện sau khi chạy tập lệnh.

Ví dụ 3: Chuyển đổi dữ liệu số nguyên từ bytearray sang byte

Các ví dụ trước cho thấy việc chuyển đổi bytearray và byte dựa trên dữ liệu từ điển và chuỗi. Ví dụ thứ ba này cho thấy việc chuyển đổi bytearray thành byte dựa trên dữ liệu đầu vào. Ở đây, giá trị đầu vào được chuyển đổi thành giá trị số nguyên và được chuyển dưới dạng đối số thông qua hàm bytearray (), và đối tượng bytearray sau đó được chuyển đổi thành đối tượng byte. Các giá trị null dựa trên số nguyên được hiển thị dưới dạng kết quả đầu ra của đối tượng byte và byte. Tổng số byte được đếm thông qua phương thức len () ở cuối tập lệnh và sẽ bằng giá trị số nguyên được truyền dưới dạng đối số vào phương thức bytearray ().

#! / usr / bin / env python3

cố gắng:
# Nhận bất kỳ giá trị số nào
chữ= NS(đầu vào('Nhập bất kỳ số nào:'))

# Khởi tạo đối tượng bytearray với số
byteArrObj= bytearray(chữ)
in(' Đầu ra của phương thức bytesarray (): ',byteArrObj)

# Chuyển đổi đối tượng bytearray thành đối tượng byte
byteObj= byte(byteArrObj)
in(' Đầu ra của phương thức byte (): ',byteObj)

# In kích thước của đối tượng byte
in(' Chiều dài của đối tượng byte: ',len(byteObj))
ngoại trừ ValueError:
in('Nhập bất kỳ giá trị số nào')

Đầu ra

Sau khi chạy tập lệnh, 6 được lấy làm đầu vào trong đầu ra sau. Sáu giá trị null được hiển thị dưới dạng đầu ra của bytearray và byte. Khi các giá trị rỗng được đếm thì nó sẽ hiển thị 6.

Ví dụ 4: Tạo bytearray bằng append () và Chuyển thành byte

Ví dụ sau đây cho thấy cách các đối tượng bytearray có thể được tạo thông qua phương thức append () và chuyển đổi thành byte. Biến arrVal được khai báo ở đây như một đối tượng bytearray. Tiếp theo, phương thức append () được gọi sáu lần để thêm sáu phần tử vào mảng. Mã ASCII của các ký tự ‘P,’ ‘y,’ ‘t,’ ‘h,’ ‘o,’ và ‘n,’ lần lượt là 80, 121, 116, 104, 111 và 1120. Chúng được thêm vào đối tượng bytearray. Đối tượng mảng này được chuyển đổi thành đối tượng byte sau này.

#! / usr / bin / env python3

# Tạo bytearray và thêm mục bằng phương thức append ()
arrVal= bytearray()
arrVal.nối thêm(80)
arrVal.nối thêm(121)
arrVal.nối thêm(116)
arrVal.nối thêm(104)
arrVal.nối thêm(111)
arrVal.nối thêm(110)

# In các giá trị bytearray ()
in(' Đầu ra của phương thức bytearray (): ',arrVal)

# Chuyển đối tượng bytearray thành đối tượng byte
byteObject= byte(arrVal)

# In giá trị đối tượng byte
in(' Đầu ra của phương thức byte (): ',byteObject)

Đầu ra

Kết quả sau sẽ xuất hiện sau khi chạy tập lệnh.

Phần kết luận

Các phương pháp khác nhau được hiển thị trong bài viết này để chuyển đổi bytearray thành byte sau khi tạo các đối tượng bytearray. Sau khi đọc bài viết này, tôi hy vọng rằng bạn hiểu khái niệm bytearray và byte, biết cách chuyển bytearray sang byte và có thể hiển thị đầu ra của byte dưới dạng chuỗi và ký tự.