3
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đang cố gắng xây dựng một bộ chuyển đổi đơn giản cho bất kỳ đối tượng nào thành mảng byte trong Python. Tôi đã xem
import pickle
class File:
def write[self,b]:
print[b]
f = File[]
p = pickle.Pickler[f]
object = 3.14
p.dump[object]
0 nhưng nó chỉ hoạt động tạo một tệp và đây không phải là thứ tôi cần. Tôi cũng đã kiểm tra import pickle
class File:
def write[self,b]:
print[b]
f = File[]
p = pickle.Pickler[f]
object = 3.14
p.dump[object]
1 nhưng một số đối tượng cần một bộ tuần tự để được đổ.Tôi cần một trình chuyển đổi giữ đối tượng của mình trong bộ nhớ và có thể chuyển đổi bất kỳ đối tượng nào thành mảng byte.
Martineau
Huy hiệu vàng 116K2525 gold badges160 silver badges285 bronze badges
Đã hỏi ngày 25 tháng 6 năm 2020 lúc 0:13Jun 25, 2020 at 0:13
10
Tôi đang thêm đây như một câu trả lời thực tế vì nó dường như giải quyết nhu cầu của bạn. Việc bạn sử dụng
import pickle
class File:
def write[self,b]:
print[b]
f = File[]
p = pickle.Pickler[f]
object = 3.14
p.dump[object]
2 là vấn đề vì nó được thiết kế để lấy đối tượng tuần tự hóa và viết nó vào một tệp [mặc dù như được chỉ ra trong các câu trả lời khác, nó không nhất thiết phải, nhưng đó là bên cạnh điểm].Chức năng bạn muốn sử dụng là
import pickle
class File:
def write[self,b]:
print[b]
f = File[]
p = pickle.Pickler[f]
object = 3.14
p.dump[object]
3, trả về đối tượng tuần tự hóa trực tiếp dưới dạng mảng byte:someobject = 123
someobject_bytes = pickle.dumps[someobject]
Đã trả lời ngày 25 tháng 6 năm 2020 lúc 18:39Jun 25, 2020 at 18:39
Abion47Abion47Abion47
Phù hiệu vàng 19,9K459 Huy hiệu bạc78 Huy hiệu đồng4 gold badges59 silver badges78 bronze badges
1
Tham số
import pickle
class File:
def write[self,b]:
print[b]
f = File[]
p = pickle.Pickler[f]
object = 3.14
p.dump[object]
4 thành import pickle
class File:
def write[self,b]:
print[b]
f = File[]
p = pickle.Pickler[f]
object = 3.14
p.dump[object]
5 chỉ cần có phương thức import pickle
class File:
def write[self,b]:
print[b]
f = File[]
p = pickle.Pickler[f]
object = 3.14
p.dump[object]
6 nhận byte. Về nguyên tắc, bạn có thể viết lớp của riêng mình bằng phương pháp của mình import pickle
class File:
def write[self,b]:
print[b]
f = File[]
p = pickle.Pickler[f]
object = 3.14
p.dump[object]
7 làm bất cứ điều gì bạn muốn với những vết cắn đó và chuyển một đối tượng của lớp đó sangExample:
import pickle
class File:
def write[self,b]:
print[b]
f = File[]
p = pickle.Pickler[f]
object = 3.14
p.dump[object]
Đầu ra:
import pickle
class File:
def write[self,b]:
print[b]
f = File[]
p = pickle.Pickler[f]
object = 3.14
p.dump[object]
9Thay vì in các byte, như trong ví dụ này, bạn có thể nối chúng trong
message = 'Python is fun'
# convert string to bytes
byte_message = bytes[message, 'utf-8']
print[byte_message]
# Output: b'Python is fun'
0 hoặc bất cứ thứ gì bạn muốn.
Martineau
Huy hiệu vàng 116K2525 gold badges160 silver badges285 bronze badges
Đã hỏi ngày 25 tháng 6 năm 2020 lúc 0:13Jun 25, 2020 at 0:26
10
Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về phương thức python byte [] với sự trợ giúp của các ví dụ.
Phương thức
message = 'Python is fun'
# convert string to bytes
byte_message = bytes[message, 'utf-8']
print[byte_message]
# Output: b'Python is fun'
1 trả về một đối tượng byte bất biến được khởi tạo với kích thước và dữ liệu đã cho.Thí dụ
message = 'Python is fun'
# convert string to bytes
byte_message = bytes[message, 'utf-8']
print[byte_message]
# Output: b'Python is fun'
Byte [] cú pháp
Phương pháp cú pháp của phương pháp
message = 'Python is fun'
# convert string to bytes
byte_message = bytes[message, 'utf-8']
print[byte_message]
# Output: b'Python is fun'
1 là:bytes[[source[, encoding[, errors]]]]
Phương thức
message = 'Python is fun'
# convert string to bytes
byte_message = bytes[message, 'utf-8']
print[byte_message]
# Output: b'Python is fun'
1 Trả về một đối tượng byte là chuỗi số nguyên bất biến [không thể sửa đổi] trong phạm vi message = 'Python is fun'
# convert string to bytes
byte_message = bytes[message, 'utf-8']
print[byte_message]
# Output: b'Python is fun'
4.Nếu bạn muốn sử dụng phiên bản có thể thay đổi, hãy sử dụng phương thức bytearray [].
tham số byte []
message = 'Python is fun'
# convert string to bytes
byte_message = bytes[message, 'utf-8']
print[byte_message]
# Output: b'Python is fun'
1 mất ba tham số tùy chọn:- Nguồn [Tùy chọn] - Nguồn để khởi tạo mảng byte. - source to initialize the array of bytes.
- Mã hóa [tùy chọn] - Nếu nguồn là một chuỗi, mã hóa chuỗi. - if the source is a string, the encoding of the string.
- 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] - if the source is a string, the action to take when the encoding conversion fails [Read more: String encoding]
Tham số nguồn có thể được sử dụng để khởi tạo mảng byte theo các cách sau:source parameter can be used to initialize the byte array in the following ways:
Sợi dây | Chuyển đổi chuỗi thành byte bằng str.encode [] cũng phải cung cấp mã hóa và lỗi tùy chọnencoding and optionally errors |
Số nguyên | Tạo một mảng có kích thước được cung cấp, tất cả được khởi tạo thành null |
Sự vật | Bộ đệm chỉ đọc của đối tượng sẽ được sử dụng để khởi tạo mảng byte |
Có thể lặp lại | Tạo một mảng có kích thước bằng với số lượng ITBER và được khởi tạo thành các phần tử có thể lặp lại phải có thể lặp lại của các số nguyên giữa 6 |
Không có nguồn [đối số] | Tạo một mảng có kích thước 0 |
byte [] giá trị trả về
Phương thức
message = 'Python is fun'
# convert string to bytes
byte_message = bytes[message, 'utf-8']
print[byte_message]
# Output: b'Python is fun'
1 trả về đối tượng byte của kích thước và giá trị khởi tạo đã cho.Ví dụ 1: Chuyển đổi chuỗi thành byte
string = "Python is interesting."
# string with encoding 'utf-8'
arr = bytes[string, 'utf-8']
print[arr]
Đầu ra
b'Python is interesting.'
Ví dụ 2: Tạo một byte có kích thước số nguyên đã cho
size = 5
arr = bytes[size]
print[arr]
Đầu ra
b'\x00\x00\x00\x00\x00'
Ví dụ 2: Tạo một byte có kích thước số nguyên đã cho
rList = [1, 2, 3, 4, 5]
arr = bytes[rList]
print[arr]
Đầu ra
b'\x01\x02\x03\x04\x05'