Một đối tượng byte trong Python là một chuỗi các byte và các đối tượng byte này có thể đọc được bằng máy và có thể được lưu trữ ngay lập tức trên đĩa. Chuỗi là dạng con người có thể đọc được cần được mã hóa và lưu trữ trên đĩa
Chuỗi Python thành byte
Để chuyển đổi chuỗi thành byte trong Python, hãy sử dụng phương thức encode[]. chuỗi. encode[encoding] là một cách Pythonic hơn là sử dụng hàm tạo bytes[] vì đây là cách tự tạo tài liệu và gợi ý nhất để nói rằng "hãy lấy chuỗi này và mã hóa nó bằng tiêu chuẩn mã hóa này", cách này rõ ràng hơn byte[
Tuy nhiên, nếu bạn muốn sử dụng hàm tạo byte, thì hãy chuyển chuỗi làm đầu vào đầu tiên của hàm tạo Byte và sau đó chuyển tiêu chuẩn mã hóa làm đối số thứ hai
đoạn mã
string.encode["UTF-8"] # OR bytes[string, "UTF-8"]
Đối số của chuỗi. phương thức encode[] là mã hóa tiêu chuẩn
Hàm bytes[] nhận hai đối số;
Đối số thứ hai là tiêu chuẩn mã hóa, UTF-8 hoặc ASCII
Chuyển đổi chuỗi thành byte bằng mã hóa chuỗi Python[]
Xem đoạn mã sau
string = "Cyberpunk 2077" # String with encoding "UTF-8" p_bytes = string.encode["UTF-8"] # String with encoding "ASCII" p_bytes2 = string.encode["ASCII"] print[p_bytes, '\n'] print[p_bytes2, "\n"] # Actual bytes in the the string for byte in p_bytes: print[byte, end=' '] print["\n"] for byte in p_bytes2: print[byte, end=' ']
đầu ra
b'Cyberpunk 2077' b'Cyberpunk 2077' 67 121 98 101 114 112 117 110 107 32 50 48 55 55 67 121 98 101 114 112 117 110 107 32 50 48 55 55
Ở bước đầu tiên, chúng tôi đã xác định một chuỗi và sau đó sử dụng hàm mã hóa chuỗi [] để mã hóa chuỗi thành byte bằng hai tiêu chuẩn. 1] UTF-8 và 2] ASCII. Sau đó, chúng tôi đã in cả hai byte và sau đó sử dụng vòng lặp for-in để in từng byte một
Trong Python3, cách tốt nhất để mã hóa một chuỗi là sử dụng hàm encode[] với đối số mặc định, “UTF-8”
Bạn có thể thấy từ đầu ra rằng hai đầu ra đầu tiên là chuỗi b, nghĩa là chúng hiện là byte. Chuỗi b trong Python bao gồm dữ liệu byte, nghĩa là các số nguyên biểu thị bằng chữ nằm trong khoảng từ 0 đến 255
Chuyển đổi chuỗi thành byte bằng hàm tạo byte Python
Xem đoạn mã sau
string = "Cyberpunk 2077" # String with encoding "UTF-8" p_bytes = bytes[string, "UTF-8"] # String with encoding "ASCII" p_bytes2 = bytes[string, "ASCII"] print[p_bytes, '\n'] print[p_bytes2, "\n"] # Actual bytes in the the string for byte in p_bytes: print[byte, end=' '] print["\n"] for byte in p_bytes2: print[byte, end=' ']
đầu ra
b'Cyberpunk 2077' b'Cyberpunk 2077' 67 121 98 101 114 112 117 110 107 32 50 48 55 55 67 121 98 101 114 112 117 110 107 32 50 48 55 55
Ở bước đầu tiên, chúng tôi đã xác định một chuỗi và sau đó sử dụng hàm tạo byte để mã hóa chuỗi thành byte bằng hai tiêu chuẩn. 1] UTF-8 và 2] ASCII. Sau đó, chúng tôi đã in cả hai byte và sau đó sử dụng vòng lặp for-in để in từng byte một
Đó là nó cho hướng dẫn này. Cảm ơn vì đã lấy nó
Xem thêm
Chuỗi thô Python
Chuỗi nhiều dòng trong Python
Bài viết trước Danh sách mảng Java. Hướng dẫn đầy đủ
Bài viết tiếp theo Chuỗi Python thô. Hướng dẫn đầy đủ
kranal
https. //appdividend. com/
Krunal Lathiya là Kỹ sư phần mềm với hơn tám năm kinh nghiệm. Anh ấy đã phát triển một nền tảng vững chắc về các nguyên tắc khoa học máy tính và niềm đam mê giải quyết vấn đề. Ngoài ra, Krunal có kiến thức tuyệt vời về Khoa học dữ liệu và Học máy, đồng thời là chuyên gia về Ngôn ngữ Python. Krunal có kinh nghiệm với nhiều ngôn ngữ lập trình và công nghệ khác nhau, bao gồm PHP, R, Golang và JavaScript. Anh ấy cảm thấy thoải mái khi làm việc trong lĩnh vực phát triển front-end và back-end
Phương thức
string = "Cyberpunk 2077" # String with encoding "UTF-8" p_bytes = string.encode["UTF-8"] # String with encoding "ASCII" p_bytes2 = string.encode["ASCII"] print[p_bytes, '\n'] print[p_bytes2, "\n"] # Actual bytes in the the string for byte in p_bytes: print[byte, end=' '] print["\n"] for byte in p_bytes2: print[byte, end=' ']0 trả về một đối tượng bytearray là một mảng của các byte đã cho
Ví dụ
prime_numbers = [2, 3, 5, 7]
# convert list to bytearray
byte_array = bytearray[prime_numbers]
print[byte_array]
# Output: bytearray[b'\x02\x03\x05\x07']
bytearray[] Cú pháp
Cú pháp của phương thức
string = "Cyberpunk 2077" # String with encoding "UTF-8" p_bytes = string.encode["UTF-8"] # String with encoding "ASCII" p_bytes2 = string.encode["ASCII"] print[p_bytes, '\n'] print[p_bytes2, "\n"] # Actual bytes in the the string for byte in p_bytes: print[byte, end=' '] print["\n"] for byte in p_bytes2: print[byte, end=' ']0 là
bytearray[[source[, encoding[, errors]]]]
Phương thức
string = "Cyberpunk 2077" # String with encoding "UTF-8" p_bytes = string.encode["UTF-8"] # String with encoding "ASCII" p_bytes2 = string.encode["ASCII"] print[p_bytes, '\n'] print[p_bytes2, "\n"] # Actual bytes in the the string for byte in p_bytes: print[byte, end=' '] print["\n"] for byte in p_bytes2: print[byte, end=' ']0 trả về một đối tượng bytearray [i. e. mảng byte] là chuỗi số nguyên có thể thay đổi [có thể sửa đổi] trong phạm vi
bytearray[[source[, encoding[, errors]]]]1
Nếu bạn muốn phiên bản không thay đổi, hãy sử dụng phương thức bytes[]
bytearray[] Tham số
string = "Cyberpunk 2077" # String with encoding "UTF-8" p_bytes = string.encode["UTF-8"] # String with encoding "ASCII" p_bytes2 = string.encode["ASCII"] print[p_bytes, '\n'] print[p_bytes2, "\n"] # Actual bytes in the the string for byte in p_bytes: print[byte, end=' '] print["\n"] for byte in p_bytes2: print[byte, end=' ']0 có ba tham số tùy chọn
- nguồn [Tùy chọn] - nguồn để khởi tạo mảng byte
- mã hóa [Tùy chọn] - nếu nguồn là một chuỗi, mã hóa của chuỗi
- lỗi [Tùy chọn] - nếu nguồn là một chuỗi, hành động cần thực hiện khi chuyển đổi mã hóa không thành công [Đọc thêm. mã hóa chuỗi]
Tham số nguồn có thể được sử dụng để khởi tạo mảng byte theo các cách sau
TypeDescriptionStringChuyển đổi chuỗi thành byte bằng cách sử dụng
bytearray[[source[, encoding[, errors]]]]3 Cũng phải cung cấp lỗi mã hóa và tùy chọnIntegerTạo một mảng có kích thước được cung cấp, tất cả được khởi tạo thành nullObjectMột bộ đệm chỉ đọc của đối tượng sẽ được sử dụng để khởi tạo mảng byteIterableTạo một mảng có kích thước bằng với số lần lặp và được khởi tạo