Có loại byte nào trong Python không?

Chắc hẳn bạn đã học về các kiểu dữ liệu khác nhau trong python chẳng hạn như chuỗi và kiểu dữ liệu số như số nguyên và số dấu phẩy động. Trong bài viết này, bạn sẽ tìm hiểu về một kiểu dữ liệu khác được gọi là byte. Bạn sẽ nghiên cứu các khái niệm cơ bản đằng sau byte trong python và sẽ triển khai các loại hoạt động khác nhau trên byte để hiểu các khái niệm

Byte trong Python là gì?

Nói chung, khi chúng tôi lưu bất kỳ dữ liệu nào trong bộ lưu trữ thứ cấp, dữ liệu đó sẽ được mã hóa theo một loại mã hóa nhất định, chẳng hạn như ASCII, UTF-8 và UTF-16 cho chuỗi, PNG, JPG và JPEG cho hình ảnh cũng như mp3 và wav cho âm thanh . Khi chúng tôi truy cập lại dữ liệu bằng thao tác đọc tệp python, nó sẽ được giải mã thành văn bản, hình ảnh hoặc âm thanh tương ứng. Các đối tượng byte chứa dữ liệu mà máy có thể đọc được và chúng ta có thể lưu trữ một đối tượng byte trực tiếp vào bộ lưu trữ thứ cấp.  

Trong python, chúng ta có thể tạo các đối tượng byte một cách rõ ràng từ các dữ liệu khác như danh sách, chuỗi, v.v.

Làm cách nào để tạo byte trong Python?

Để tạo các đối tượng byte, chúng ta có thể sử dụng hàm bytes[]. Hàm bytes[] lấy ba tham số làm đầu vào, tất cả đều là tùy chọn. Đối tượng phải được chuyển đổi thành byte được chuyển thành tham số đầu tiên. Tham số thứ hai và thứ ba chỉ được sử dụng khi tham số đầu tiên là  chuỗi. Trong trường hợp này, tham số thứ hai là mã hóa của chuỗi và tham số thứ ba là tên của phản hồi lỗi được thực thi khi mã hóa không thành công. Hàm bytes[] trả về một đối tượng byte bất biến. Trong các phần tiếp theo, chúng ta sẽ hiểu hoạt động của hàm bytes[] bằng cách tạo các đối tượng byte từ các đối tượng dữ liệu khác nhau

Tạo một đối tượng byte có kích thước nhất định

Để tạo một đối tượng byte có kích thước bất kỳ, chúng ta sẽ chuyển kích thước đó làm đầu vào cho phương thức bytes[] và một đối tượng byte có kích thước yêu cầu được tạo, được khởi tạo cho tất cả các số không. Điều này có thể được hiểu từ ví dụ sau

bytes_obj = bytes[10]
print["The bytes object is:", bytes_obj]
print["Size of the bytes object is:", len[bytes_obj] ]

đầu ra

The bytes object is: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Size of the bytes object is: 10

Chuyển đổi Chuỗi thành byte

Để chuyển đổi một chuỗi thành đối tượng byte, chúng ta sẽ chuyển chuỗi đó làm đầu vào đầu tiên và mã hóa làm đầu vào thứ hai cho hàm bytes[]. Ngoài ra còn có một đối số thứ ba cho phản hồi lỗi nhưng có thể tránh được để đơn giản tại thời điểm này. Hàm trả về một đối tượng bytes với chuỗi được mã hóa. Điều này có thể được hiểu như sau

myString = "Pythonforbeginners.com"
print["The given string is:" , myString]
bytes_obj = bytes[myString , "UTF-8"]
print["The bytes object is:", bytes_obj]
print["Size of the bytes object is:", len[bytes_obj] ]

đầu ra

The given string is: Pythonforbeginners.com
The bytes object is: b'Pythonforbeginners.com'
Size of the bytes object is: 22

Chuyển đổi danh sách thành byte

Chúng ta cũng có thể chuyển đổi bất kỳ đối tượng có thể lặp lại nào như danh sách hoặc tuple thành đối tượng byte bằng cách sử dụng hàm bytes[]. Để thực hiện thao tác này, chúng ta chỉ cần chuyển đối tượng có thể lặp lại cho hàm bytes[] trả về đối tượng bytes tương ứng. Hãy nhớ rằng đối tượng bytes là bất biến và không thể sửa đổi. Chúng ta có thể chuyển đổi một danh sách thành byte bằng hàm bytes[] như sau

myList = [1,2,3,4,5]
print["The given list is:" , myList]
bytes_obj = bytes[myList]
print["The bytes object is:", bytes_obj]
print["Size of the bytes object is:", len[bytes_obj] ]

đầu ra

The given list is: [1, 2, 3, 4, 5]
The bytes object is: b'\x01\x02\x03\x04\x05'
Size of the bytes object is: 5

Hãy nhớ rằng danh sách được chuyển đến hàm bytes[] chỉ nên chứa các phần tử. Truyền danh sách s với các số hoặc chuỗi dấu phẩy động sẽ khiến hàm bytes[] ném TypeError

Phần kết luận

Trong bài viết này, chúng ta đã biết các đối tượng byte là gì và cách chúng ta có thể tạo các đối tượng byte từ các chuỗi lặp và chuỗi bằng cách sử dụng phương thức bytes[]. Chúng ta cũng có thể viết các chương trình được sử dụng trong bài viết này với việc xử lý ngoại lệ bằng cách sử dụng python try except để làm cho chương trình mạnh mẽ hơn và xử lý lỗi một cách có hệ thống. Hãy theo dõi để biết thêm các bài viết thông tin

Có liên quan

Đào tạo Python được đề xuất

Món ăn. Python 3 cho người mới bắt đầu

Hơn 15 giờ nội dung video với hướng dẫn có hướng dẫn cho người mới bắt đầu. Tìm hiểu cách tạo các ứng dụng trong thế giới thực và nắm vững kiến ​​thức cơ bản

Sự khác biệt giữa

The bytes object is: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Size of the bytes object is: 10
1 và
The bytes object is: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Size of the bytes object is: 10
2 là
The bytes object is: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Size of the bytes object is: 10
1 trả về một đối tượng không thể sửa đổi và
The bytes object is: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Size of the bytes object is: 10
2 trả về một đối tượng có thể sửa đổi

Phương thức

The bytes object is: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Size of the bytes object is: 10
1 trả về một đối tượng bất biến của lớp được khởi tạo với chuỗi số nguyên trong khoảng từ 0 đến 256

cú pháp

bytes[source, encoding, errors]

Thông số

  1. nguồn. [Tùy chọn] Một số nguyên hoặc có thể lặp lại để chuyển đổi nó thành một mảng byte
    1. Nếu nguồn là một chuỗi, nó phải có tham số mã hóa
    2. Nếu nguồn là một số nguyên, mảng sẽ có kích thước đó và sẽ được khởi tạo với các byte rỗng
    3. Nếu nguồn là một đối tượng phù hợp với giao diện bộ đệm, bộ đệm chỉ đọc của đối tượng sẽ được sử dụng để khởi tạo mảng byte
    4. Nếu nguồn là đối tượng có thể lặp lại, nó phải có các phần tử số nguyên trong khoảng từ 0 đến 256
  2. mã hóa. [Tùy chọn] Mã hóa của chuỗi nếu nguồn là một chuỗi
  3. lỗi. [Tùy chọn] Hành động cần thực hiện nếu chuyển đổi mã hóa không thành công

Giá trị trả về

Trả về một đối tượng byte

Ví dụ sau chuyển đổi số nguyên đã cho thành byte

Ví dụ. Chuyển đổi Int sang Byte

Sao chép

print[bytes[1]] 
print[bytes[2]] 
print[bytes[3]] 

đầu ra

________số 8

Nếu đối số ________ 70 là một chuỗi và không có phương pháp mã hóa nào được chỉ định, một ngoại lệ ________ 71 sẽ được trả về

Python có loại byte không?

Python hỗ trợ nhiều loại để lưu trữ chuỗi. Có sáu loại trình tự. chuỗi, chuỗi byte [đối tượng byte] , mảng byte [đối tượng bytearray], danh sách, bộ dữ liệu và đối tượng phạm vi. Chuỗi chứa các ký tự Unicode.

Làm cách nào để đọc byte trong Python?

bạn có thể sử dụng bin[ord['b']] . replace['b', ''] bin[] nó cung cấp cho bạn biểu diễn nhị phân với 'b' sau bit cuối cùng, bạn phải xóa nó. Ngoài ra, ord[] cung cấp cho bạn số ASCII cho ký tự được mã hóa char hoặc 8-bit/1 Byte.

Loại byte là gì?

byte. Kiểu dữ liệu byte là số nguyên bù hai có dấu 8 bit . Nó có giá trị tối thiểu là -128 và giá trị tối đa là 127 [đã bao gồm]. Kiểu dữ liệu byte có thể hữu ích để tiết kiệm bộ nhớ trong các mảng lớn, nơi tiết kiệm bộ nhớ thực sự quan trọng.

Bit và byte trong Python là gì?

Bit và byte . Hầu hết các máy tính hiện đại đều là kiến ​​trúc 64-bit mà Python 3 sẽ sử dụng 64-bit để biểu diễn các số. Một số máy tính có thể là kiến ​​trúc 32 bit và Python có thể sử dụng 32 bit để biểu thị số - hãy cẩn thận. Bạn có thể biểu diễn các chuỗi bit bằng tiền tố 0b. A bit is a 0/1 value, and a byte is 8 bits. Most modern computers are 64-bit architectures on which Python 3 will use 64-bits to represent numbers. Some computers may be 32-bit architectures, and Python may use 32-bits to represent numbers - beware! You can represent strings of bits using the 0b prefix.

Chủ Đề