Hướng dẫn convert object to bytes python - chuyển đổi đối tượng thành byte python

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 đó sang

Example:

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]
9

Thay 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:

Loại hìnhSự mô tả
Sợi dâyChuyể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ênTạ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ậtBộ đệ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ạiTạ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
message = 'Python is fun'

# convert string to bytes byte_message = bytes[message, 'utf-8']

print[byte_message] # Output: b'Python is fun'
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'

Đối tượng byte là gì trong Python?

Đối tượng byte là một trong những loại tích hợp cốt lõi để thao tác dữ liệu nhị phân. Đối tượng byte là một chuỗi bất biến của các giá trị byte đơn. Mỗi phần tử trong một đối tượng byte là một số nguyên nhỏ trong phạm vi từ 0 đến 255.one of the core built-in types for manipulating binary data. A bytes object is an immutable sequence of single byte values. Each element in a bytes object is a small integer in the range of 0 to 255.

Làm thế nào để bạn khai báo một đối tượng byte trong Python?

Đầu tiên là bạn sử dụng một hàm byte [] và được đặt trong các đối số bạn đặt trong một chuỗi theo sau là loại mã hóa. 00:17 Điều này sẽ tạo một đối tượng byte từ chuỗi đó. Cách thứ hai là bằng cách sử dụng hàm byte [] và nhập kích thước.use a function bytes[] , and enclosed in arguments you put in a string followed by the type of encoding. 00:17 This will create a bytes object from that string. The second way is by using the bytes[] function and entering in a size.

Làm thế nào để bạn biến một đối tượng thành một bytearray?

Viết nội dung của đối tượng vào luồng đầu ra bằng phương thức WriteObject [] của lớp ObjectOutputStream.Xóa nội dung vào luồng bằng phương thức flush [].Cuối cùng, hãy chuyển đổi nội dung của bytearrayoutputstream thành mảng byte bằng phương thức tobyteArray [].

Hàm Python nào được sử dụng để chuyển đổi đối tượng Byte thành chuỗi?

Sử dụng phương thức decode [] python cung cấp phương thức decode [] tích hợp, được sử dụng để chuyển đổi byte thành một chuỗi.decode[] method Python provides the built-in decode[] method, which is used to convert bytes to a string.

Bài Viết Liên Quan

Chủ Đề