Hướng dẫn what is b prefix in python? - tiền tố b trong python là gì?

Nếu bạn biết rõ về Python, thì đây là điều bạn đã đến, nhưng nếu bạn là người mới bắt đầu thì bài viết này sẽ cải thiện kiến ​​thức của bạn về các kiểu dữ liệu Python.

Hãy bắt đầu với một ví dụ đơn giản, hãy xem xét rằng bạn có hai chuỗi:

my_string  = ‘A new string’

# and 2nd string

my_string_one = b’A new string’

Bạn nghĩ gì, là my_stringmy_string_one khác nhau?is my_string and my_string_one different?

Không? Đúng? OK, đây là một gợi ý, sự khác biệt nằm trong kiểu dữ liệu.

LT kiểm tra loại của cả hai biến chuỗi,

my_string  = 'A new string'

print(type(my_string))

my_string_one = b'A new string'

print(type(my_string_one))

Output:

<class 'str'>
<class 'bytes'>

Trong đầu ra ở trên, str có nghĩa là một chữ có một chuỗi các ký tự unicode (được mã hóa trong UTF-16 hoặc UTF-32, và điều này hoàn toàn phụ thuộc vào việc tổng hợp Python) như octets).0 and 255 (also known as octets).

Vì vậy, bằng cách thêm tiền tố B ở phía trước một chuỗi bình thường, chúng tôi đã thay đổi kiểu dữ liệu của nó từ chuỗi thành byte.b in front of a normal string, we changed its datatype from string to bytes.


Khi nào tôi sử dụng chuỗi và khi nào tôi sử dụng byte?

Trong Python 2.x, cả kiểu dữ liệu strbytes là một đối tượng loại ____10 nhưng trong Python 3.x, điều này đã được thay đổi ngay bây giờ. Sự khác biệt chính giữa byte và chuỗi là byte là máy có thể xử lý lại và chuỗi có thể đọc được của con người và cuối cùng chuỗi cũng được chuyển đổi thành byte để xử lý. Khi chúng ta tạo một đối tượng kiểu dữ liệu byte trong Python được lưu trữ trực tiếp trên đĩa trong khi một đối tượng chuỗi được mã hóa lần đầu tiên và sau đó được lưu trữ trên đĩa.

Các chuỗi có thể được sử dụng để biểu diễn dữ liệu như ký tự đặc biệt, ký tự, từ hoặc hầu hết mọi thứ ở dạng Ahuman có thể đọc do đó nên được sử dụng trong các chương trình trong khi nên sử dụng byte để thể hiện các cấu trúc dữ liệu nhị phân cấp thấp. can be used to represent data like special characters, characters, words or almost anything in ahuman readable form hence it should be used in programs whereas Bytes should be used to represent low-level binary data structures.


Tôi có thể chuyển đổi byte thành chuỗi và ngược lại không?

Vâng, nó là có thể.

Chuỗi có thể được chuyển đổi thành byte với sự trợ giúp của một quy trình được gọi là mã hóa.encoding.

Byte có thể được chuyển đổi thành các chuỗi với sự trợ giúp của một quá trình được gọi là giải mã.decoding.

Xem xét ví dụ sau:

print('Öl')

'Öl'.encode('UTF-8')   # Output b'\xc3\x96l'

len('Öl'.encode('UTF-8'))   # Output 3

b'\xc3\x96l'.decode('UTF-8')    # Output 'Öl'

len(b'\xc3\x96l'.decode('UTF-8'))   # Output 2

Trong mã trên, dòng đầu tiên in một từ tiếng Đức, lưu ý 2 dấu chấm trên chữ O. Độ dài của chuỗi này là 2 i.e Nó có 2 ký tự.German word, note the 2 dots over the letter O. The length of this string is 2 i.e it has 2 characters.

Vì đây là một chuỗi, nó đã được mã hóa bằng cách sử dụng

my_string  = 'A new string'

print(type(my_string))

my_string_one = b'A new string'

print(type(my_string_one))
1 trong dòng tiếp theo, cung cấp đầu ra b '\ xc3 \ x96l'.b'\xc3\x96l'.

Độ dài của chuỗi được mã hóa này là 3 byte đã được thể hiện trong dòng mã thứ ba.3 bytes which has been represented in the third line of code.

Nếu chúng ta muốn chuyển đổi một byte thành một chuỗi, việc giải mã phải được thực hiện và điều đó đã được thể hiện trong dòng thứ tư.

Độ dài của chuỗi được giải mã kết quả là 2 ký tự.2 characters.


Sự kết luận

Trong bài đăng này, chúng tôi hiểu tầm quan trọng của việc mã hóa và giải mã chuỗi và các đối tượng loại byte. Ngoài ra, chúng tôi đã học được ý nghĩa của tiền tố B được sử dụng với các chuỗi trong một số chương trình.b prefix used with strings in some programs.

Bạn cũng có thể thích:

  • Các loại dữ liệu trong Python
  • Các loại dữ liệu Python Numpy
  • Làm thế nào để tìm loại biến trong Python?
  • Các nhà khai thác quan hệ và logic Python

Dữ liệu byte, tạo thành chuỗi Python B, ngụ ý chữ theo nghĩa đen đại diện cho số nguyên nằm trong khoảng từ 0 đến 255. Loại dữ liệu của chuỗi Python B và chuỗi Python khác nhau đáng kể. Các loại dữ liệu byte theo nghĩa chữ trong chuỗi Python B biểu thị các giá trị trong khoảng từ 0 đến 255, trong khi chuỗi truyền thống chứa một chuỗi các ký tự Unicode như UTF-16 hoặc UTF-32. Trong Python, các chuỗi được sử dụng để thể hiện dữ liệu dựa trên văn bản và được chứa trong các trình điều khiển đơn hoặc kép. Một thể hiện của một chuỗi là như:

# my_str = "Đây là một chuỗi mẫu"

Các chuỗi đại diện cho dữ liệu mà con người có thể đọc, chẳng hạn như chữ cái, ký tự đặc biệt, từ ngữ hoặc gần như bất kỳ thứ gì khác, trong khi byte được sử dụng để thể hiện các cấu trúc dữ liệu nhị phân cấp thấp. Cả hai loại dữ liệu STR và BYTE trong Python 2.x đều là đối tượng loại byte, nhưng điều này đã thay đổi trong Python 3.x. Byte và chuỗi khác nhau chủ yếu bởi vì các byte có thể đọc được bằng máy, trong khi chuỗi có thể đọc được của con người và cuối cùng văn bản được dịch thành byte để xử lý.

Bằng cách thêm tiền tố B vào chuỗi thông thường Python, kiểu dữ liệu đã được thay đổi từ chuỗi thành byte. Các chuỗi có thể được chuyển đổi thành byte, được gọi là mã hóa, trong khi việc chuyển đổi byte thành chuỗi được gọi là giải mã. Để hiểu khái niệm này tốt hơn, hãy để thảo luận về một số ví dụ.

Ví dụ 1:

Các byte đề cập đến các chữ đại diện cho các giá trị từ 0 đến 255, trong khi STR đề cập đến các chữ bao gồm một loạt các ký tự Unicode (được mã hóa trong UTF-16 hoặc UTF-32, tùy thuộc vào tổng hợp Python). Chúng tôi đã thay đổi kiểu dữ liệu của một chuỗi tiêu chuẩn từ chuỗi thành byte bằng cách đính kèm tiền tố B vào nó. Giả sử bạn có hai chuỗi str_one = ‘Alex, và String_two = b‘alexa,

Bạn nghĩ sao? Hai cái này giống nhau hay khác nhau? Sự khác biệt là trong kiểu dữ liệu. Hãy để một cái nhìn vào các loại của cả hai biến chuỗi.

str_one = 'Alex'= 'Alex'

print(type(str_one))(type(str_one))

str_two = b'alexa '= b'Alexa'

print(type(str_two))(type(str_two))

Hướng dẫn what is b prefix in python? - tiền tố b trong python là gì?

Khi mã được nêu ở trên được chạy, đầu ra sau được tạo ra.

Hướng dẫn what is b prefix in python? - tiền tố b trong python là gì?

Ví dụ 2:

Một quy trình gọi là mã hóa được sử dụng để chuyển đổi chuỗi thành byte. Một quy trình được gọi là giải mã có thể được sử dụng để chuyển đổi byte thành chuỗi. Xem xét ví dụ sau:

Phương thức Decode () sẽ được sử dụng trong ví dụ này. Hàm chuyển đổi từ sơ đồ mã hóa được sử dụng để mã hóa chuỗi đối số thành sơ đồ mã hóa được sử dụng để mã hóa chuỗi đối số thành sơ đồ mã hóa đã chọn. Điều này có hiệu ứng ngược lại chính xác như mã hóa. Hãy cùng nhìn vào một minh họa và hiểu làm thế nào chức năng này hoạt động.

my_str = b'decoration '= b'Decoration'

in ('\ n \ n đầu vào:')('\n\n Input:')

print(my_str)(my_str)

print(type(my_str))(type(my_str))

result = my_str.decode ()= my_str.decode()

in ('\ n \ n đầu ra:')('\n\n Output:')

print(result)(result)

print(type(result))(type(result))

Hướng dẫn what is b prefix in python? - tiền tố b trong python là gì?

Đầu ra của mã được đề cập ở trên sẽ trông giống như thế này.

Hướng dẫn what is b prefix in python? - tiền tố b trong python là gì?

Để bắt đầu, chúng tôi đã lưu trữ một chuỗi đầu vào với giá trị ‘trang trí, trong biến my_str. Kiểu dữ liệu của chuỗi, cũng như chuỗi đầu vào, sau đó được trình bày. Hàm giải mã () sau đó đã được sử dụng và đầu ra được lưu trong biến kết quả. Cuối cùng, chúng tôi đã viết chuỗi trong biến kết quả và loại dữ liệu biến. Kết quả là kết thúc có thể được nhìn thấy.

Ví dụ 3:

Trong ví dụ thứ ba của chúng tôi, chúng tôi đã chuyển đổi chuỗi thành byte. Đầu tiên, chúng tôi đã in một từ trong mã dưới đây. Chuỗi này có độ dài là 2. Bởi vì đây là một chuỗi được mã hóa bằng hàm mã hóa () trong dòng tiếp theo, mang lại kết quả Bát \ xc3 \ x961. Chuỗi được mã hóa được đưa ra dưới đây dài 3 byte, như được biểu thị bằng dòng mã thứ ba.

in ('ÖL')('Öl')

in ('Öl'.encode (' UTF-8 ')))('Öl'.encode('UTF-8'))

in (len ('Öl'.encode (' UTF-8 ')))))(len('Öl'.encode('UTF-8')))

Hướng dẫn what is b prefix in python? - tiền tố b trong python là gì?

Đây là đầu ra sau khi chúng tôi đã thực hiện chương trình.

Hướng dẫn what is b prefix in python? - tiền tố b trong python là gì?

Conclusion:

Bây giờ bạn đã biết khái niệm về chuỗi B trong Python và cách chuyển đổi byte thành chuỗi và ngược lại trong Python trong bài viết này. Chúng tôi đã xem qua một ví dụ chi tiết để chuyển đổi byte thành chuỗi và chuỗi thành byte. Tất cả các phương pháp được giải thích tốt với các ví dụ.

Thông tin về các Tác giả

Xin chào, tôi là một nhà văn tự do và thường viết cho Linux và các nội dung liên quan đến công nghệ khác

Tiền tố B có nghĩa là Python là gì?

Trong Python 3, các byte theo nghĩa đen luôn được đặt trước với 'B' hoặc 'B'; Họ tạo ra một thể hiện của loại byte thay vì loại STR. Chúng chỉ có thể chứa các ký tự ASCII; Các byte có giá trị số từ 128 trở lên phải được biểu thị bằng lối thoát.Bytes literals are always prefixed with 'b' or 'B'; they produce an instance of the bytes type instead of the str type. They may only contain ASCII characters; bytes with a numeric value of 128 or greater must be expressed with escapes.

Tiền tố trong Python là gì?

Một tiền tố là chữ cái bắt đầu của một từ hoặc nhóm từ.Ví dụ: Từ không vui, bao gồm tiền tố un un. "Cho một truy vấn, chuỗi s và danh sách tất cả các từ có thể, trả lại tất cả các từ có s như một tiền tố. 6.the beginning letter of a word or group of words. Example: The word “unhappy” consists of the prefix “un." Given a query, string s , and a list of all possible words, return all words that have s as a prefix. 6.

Văn bản B trong Python là gì?

Ký hiệu B "được sử dụng để chỉ định chuỗi byte trong Python. So với các chuỗi thông thường, có các ký tự ASCII, chuỗi byte là một mảng các biến byte trong đó mỗi phần tử thập lục phân có giá trị từ 0 đến 255.used to specify a bytes string in Python. Compared to the regular strings, which have ASCII characters, the bytes string is an array of byte variables where each hexadecimal element has a value between 0 and 255.

Chuỗi b có nghĩa là gì?

Các loại dữ liệu byte theo nghĩa chữ trong chuỗi Python B biểu thị các giá trị trong khoảng từ 0 đến 255, trong khi chuỗi truyền thống chứa một chuỗi các ký tự Unicode như UTF-16 hoặc UTF-32.Trong Python, các chuỗi được sử dụng để thể hiện dữ liệu dựa trên văn bản và được chứa trong các trình điều khiển đơn hoặc kép.represent values between 0 and 255, whereas the traditional string contains a sequence of Unicode characters such as UTF-16 or UTF-32. In Python, strings are used to represent text-based data and are contained in single or double-quotes.