Làm cách nào để chuyển đổi chuỗi thành mảng byte trong Python?

Quá trình chuyển đổi chuỗi Python thành byte được gọi là mã hóa và chuyển đổi byte thành chuỗi được gọi là giải mã

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

Facebook

Twitter

Pinterest

WhatsApp

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 đủ

Làm cách nào để chuyển đổi chuỗi thành mảng byte trong Python?

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

Làm cách nào để chuyển đổi chuỗi thành bytearray trong Python?

string = "Python thật thú vị. " # chuỗi mã hóa 'utf-8' arr = bytearray(string, 'utf-8') print(arr) Mã chạy
kích thước = 5. mảng = bytearray(size) print(arr) Mã chạy
rList = [1, 2, 3, 4, 5] arr = bytearray(rList) print(arr) Mã chạy

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

Một 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 cách nào để chuyển đổi chuỗi hex thành byte?

Để chuyển đổi chuỗi hex thành mảng byte, trước tiên bạn cần lấy độ dài của chuỗi đã cho và đưa vào trong khi tạo mảng byte mới. byte[] val = byte mới[str. độ dài() / 2];