Byte python thành chuỗi và ngược lại

Trong hướng dẫn này, chúng tôi xem xét cách chuyển đổi chuỗi Python thành byte. Chúng tôi xem xét tất cả các phương pháp khác nhau cùng với những hạn chế và lưu ý của chúng

Mục lục - Chuỗi Python thành Byte

  • Chuỗi Python thành byte
  • Phương pháp chuyển đổi chuỗi thành byte
    • Sử dụng byte[]
    • Sử dụng mã hóa[]
  • Hạn chế và hãy cẩn thận - Chuỗi Python thành Byte

Chuỗi Python thành byte

Chuyển đổi chuỗi Python thành Byte đã trở nên khá phổ biến sau khi phát hành Python 3. Điều này phần lớn là do rất nhiều phương pháp xử lý tệp và Máy học yêu cầu bạn chuyển đổi chúng. Trước khi đi sâu vào cách chuyển đổi chúng, trước tiên chúng ta hãy hiểu chúng là gì và chúng khác nhau như thế nào

Trong Python 2, chuỗi và byte là cùng một đối tượng typeByte; . Về bản chất, các chuỗi có thể đọc được bằng con người và để chúng có thể đọc được bằng máy, chúng phải được chuyển đổi thành các đối tượng byte. Chuyển đổi này cũng cho phép dữ liệu được lưu trữ trực tiếp trên đĩa

Quá trình chuyển đổi đối tượng chuỗi thành đối tượng byte được gọi là mã hóa và ngược lại được gọi là giải mã. Chúng tôi xem xét các phương pháp để đạt được điều này dưới đây

Phương pháp chuyển đổi chuỗi thành byte

Có nhiều phương thức có thể được sử dụng để chuyển đổi chuỗi Python thành byte, tuy nhiên, chúng tôi xem xét các phương thức đơn giản và phổ biến nhất có thể được sử dụng

Sử dụng byte[]

Phương thức bytes[] là một hàm sẵn có có thể được sử dụng để chuyển đổi đối tượng thành đối tượng byte

Cú pháp của byte[].
bytes[str, enc, error]

Các byte lấy một đối tượng [trong trường hợp của chúng tôi là một chuỗi], phương thức mã hóa được yêu cầu và chuyển đổi nó thành một đối tượng byte. Phương thức bytes[] chấp nhận đối số thứ ba về cách xử lý lỗi

Chúng ta hãy xem mã để chuyển đổi một chuỗi Python thành byte. Loại mã hóa chúng tôi sử dụng ở đây là “UTF-8”

#Using the byte[] method

# initializing string 
str_1 = "Join our freelance network"

str_1_encoded = bytes[str_1,'UTF-8']

#printing the encode string 
print[str_1_encoded]

#printing individual bytes
for bytes in str_1_encoded:
    print[bytes, end = ' ']
Đầu ra như sau.
b'Join our freelance network'
74 111 105 110 32 111 117 114 32 102 114 101 101 108 97 110 99 101 32 110 101 116 119 111 114 107

Như bạn có thể thấy phương thức này đã chuyển đổi chuỗi thành một chuỗi byte

Ghi chú. Phương thức này chuyển đổi các đối tượng thành các byte bất biến, nếu bạn đang tìm kiếm một phương thức có thể thay đổi, bạn có thể sử dụng phương thức bytearray[]

Sử dụng mã hóa[]

Phương thức

b'Join our freelance network'
74 111 105 110 32 111 117 114 32 102 114 101 101 108 97 110 99 101 32 110 101 116 119 111 114 107
4 là phương thức được khuyên dùng và sử dụng phổ biến nhất để chuyển đổi chuỗi Python thành byte. Một lý do chính là nó dễ đọc hơn

Mojibake [文字化け; IPA. [mod͡ʑibake]] là văn bản bị cắt xén do văn bản được giải mã bằng mã hóa ký tự ngoài ý muốn. Kết quả là sự thay thế có hệ thống các ký hiệu bằng những ký hiệu hoàn toàn không liên quan, thường là từ một hệ thống chữ viết khác. Màn hình này có thể bao gồm ký tự thay thế chung ["�"] ở những nơi biểu diễn nhị phân được coi là không hợp lệ. Một sự thay thế cũng có thể liên quan đến nhiều ký hiệu liên tiếp, như được xem trong một mã hóa, khi cùng một mã nhị phân

Trong python, chúng tôi đã thảo luận về nhiều khái niệm và chuyển đổi. Nhưng đôi khi, chúng ta gặp phải tình huống cần chuyển đổi byte thành chuỗi trong python. Trong hướng dẫn này, chúng ta sẽ thảo luận về cách chuyển đổi byte thành chuỗi trong python. Vì việc chuyển đổi các phần tử là một tiện ích hữu ích vì nó cung cấp nó theo cách đơn giản hơn nhiều so với các ngôn ngữ khác

nội dung

  • Kiểu dữ liệu Byte trong Python là gì?
  • Các cách chuyển đổi byte thành chuỗi
    • 1. Sử dụng bản đồ [] mà không sử dụng tiền tố b
    • 2. Sử dụng hàm Decode[] để chuyển đổi byte thành chuỗi trong Python
    • 3. Sử dụng hàm str[] để chuyển đổi byte thành chuỗi trong Python
    • 4. Sử dụng codec. hàm decode[] để chuyển đổi byte thành chuỗi trong Python
    • 5. Sử dụng gấu trúc để chuyển đổi byte thành chuỗi trong Python
  • Cách giải mã [] có thể xóa tiền tố b của chuỗi
  • Sự khác biệt giữa kiểu dữ liệu byte và chuỗi trong Python
    • Kiểu dữ liệu chuỗi
    • kiểu dữ liệu byte
  • Sự kết luận

Kiểu dữ liệu Byte trong Python là gì?

Nếu bạn đã quen thuộc với python, thì bạn phải biết về kiểu dữ liệu byte. Nhưng nếu ai đó không thân thiện với Python, thì chúng tôi sẽ giải thích khái niệm này. Hãy hiểu điều này với ví dụ sau

str1 = 'Python Pool'  
print[type[str1]]  
str2 = b'Python Pool'  
print[type[str2]] 

đầu ra


Giải trình

  • Chúng tôi đã xác định hai chuỗi có cùng giá trị là 'Python Pool. ’
  • Cả hai giá trị trông giống nhau, nhưng kiểu dữ liệu của chúng không giống nhau
  • Biến chuỗi đầu tiên, i. e. , str1, thuộc kiểu dữ liệu chuỗi và một số khác thuộc kiểu dữ liệu byte
  • Chuỗi thứ hai có tiền tố là 'b', nói rằng nó tạo ra kiểu dữ liệu byte thay vì kiểu dữ liệu chuỗi
  • Do đó, bạn có thể thấy đầu ra

Các cách chuyển đổi byte thành chuỗi

Ở đây, chúng ta sẽ thảo luận về tất cả các cách khác nhau để chúng ta có thể chuyển đổi byte thành chuỗi

1. Sử dụng bản đồ [] mà không sử dụng tiền tố b

Trong ví dụ này, chúng ta sẽ sử dụng hàm map để chuyển đổi một byte thành một chuỗi mà không cần sử dụng tiền tố b. Chúng ta hãy xem ví dụ để hiểu khái niệm này một cách chi tiết

byte = [97, 98, 99]
 
s = ''.join[map[chr, byte]]
print[s]

đầu ra

abc

Giải trình

  • Đầu tiên, chúng tôi đã lấy một danh sách làm đầu vào được lưu trữ trong biến byte
  • Sau đó, chúng ta đã áp dụng hàm join[] bên trong, trong đó chúng ta đã áp dụng hàm map với các ký tự của phần tử trong danh sách và byte làm tham số. Sau khi chuyển đổi, nó sẽ tham gia tất cả các ký tự
  • Cuối cùng, chúng tôi đã in đầu ra
  • Do đó, bạn có thể thấy chuỗi có tiền tố b

2. Sử dụng hàm Decode[] để chuyển đổi byte thành chuỗi trong Python

Trong ví dụ này, chúng ta sẽ sử dụng hàm decode[]. Hàm được sử dụng để chuyển đổi từ lược đồ mã hóa, trong đó chuỗi đối số được mã hóa thành lược đồ mã hóa mong muốn. Điều này hoạt động ngược lại với mã hóa. Chúng ta hãy xem ví dụ để hiểu khái niệm này một cách chi tiết

________số 8

đầu ra

Input:
b'Pythonpool'


Output:
Pythonpool

Giải trình

  • Đầu tiên, chúng tôi đã lấy một chuỗi đầu vào trong biến str có giá trị là 'Pythonpool. ’
  • Khi đó ta đã hiển thị chuỗi nhập vào và in ra kiểu dữ liệu của chuỗi
  • Sau đó, chúng tôi đã áp dụng chức năng giải mã [] và lưu trữ đầu ra trong biến đầu ra
  • Cuối cùng, chúng ta đã in chuỗi trong biến đầu ra và kiểu dữ liệu của biến đó
  • Do đó, bạn có thể thấy đầu ra

3. Sử dụng hàm str[] để chuyển đổi byte thành chuỗi trong Python

Trong ví dụ này, chúng ta sẽ sử dụng hàm str[]. Hàm được sử dụng để trả về phiên bản chuỗi của đối tượng. Chúng ta hãy xem ví dụ để hiểu khái niệm này một cách chi tiết

#Using the byte[] method

# initializing string 
str_1 = "Join our freelance network"

str_1_encoded = bytes[str_1,'UTF-8']

#printing the encode string 
print[str_1_encoded]

#printing individual bytes
for bytes in str_1_encoded:
    print[bytes, end = ' ']
0

đầu ra

#Using the byte[] method

# initializing string 
str_1 = "Join our freelance network"

str_1_encoded = bytes[str_1,'UTF-8']

#printing the encode string 
print[str_1_encoded]

#printing individual bytes
for bytes in str_1_encoded:
    print[bytes, end = ' ']
1

Giải trình

  • Đầu tiên, chúng tôi đã lấy một chuỗi đầu vào trong biến str có giá trị là 'Pythonpool. ’
  • Khi đó ta đã hiển thị chuỗi nhập vào và in ra kiểu dữ liệu của chuỗi
  • Sau đó, chúng tôi đã áp dụng hàm str[] với cả hai tham số của nó là chuỗi đầu vào và UTF-8 và lưu đầu ra trong biến đầu ra
  • Cuối cùng, chúng ta đã in chuỗi trong biến đầu ra và kiểu dữ liệu của biến đó
  • Do đó, bạn có thể thấy đầu ra

4. Sử dụng codec. hàm decode[] để chuyển đổi byte thành chuỗi trong Python

Trong ví dụ này, chúng tôi sẽ sử dụng codec. chức năng giải mã []. Hàm này được sử dụng để giải mã chuỗi nhị phân thành dạng bình thường. Chúng ta hãy xem ví dụ để hiểu khái niệm này một cách chi tiết

#Using the byte[] method

# initializing string 
str_1 = "Join our freelance network"

str_1_encoded = bytes[str_1,'UTF-8']

#printing the encode string 
print[str_1_encoded]

#printing individual bytes
for bytes in str_1_encoded:
    print[bytes, end = ' ']
2

đầu ra

Input:
b'Pythonpool'


Output:
Pythonpool

Giải trình

  • Đầu tiên, chúng tôi đã nhập mô-đun codec
  • Sau đó, chúng tôi đã lấy một chuỗi đầu vào trong biến str có giá trị là 'Pythonpool. ’
  • Khi đó ta đã hiển thị chuỗi nhập vào và in ra kiểu dữ liệu của chuỗi
  • Sau đó, chúng tôi đã áp dụng các codec. decode[] và lưu trữ đầu ra trong biến đầu ra
  • Cuối cùng, chúng ta đã in chuỗi trong biến đầu ra và kiểu dữ liệu của biến đó
  • Do đó, bạn có thể thấy đầu ra

5. Sử dụng gấu trúc để chuyển đổi byte thành chuỗi trong Python

Trong ví dụ này, chúng tôi sẽ nhập thư viện pandas. Sau đó, chúng ta sẽ lấy tập dữ liệu đầu vào và áp dụng hàm decode[]. Chúng ta hãy xem ví dụ để hiểu khái niệm này một cách chi tiết


0

đầu ra


1

Giải trình

  • Đầu tiên, chúng tôi sẽ nhập thư viện của gấu trúc với tên bí danh là pd
  • Sau đó, chúng tôi sẽ lấy khung dữ liệu đầu vào
  • Sau đó, chúng tôi sẽ áp dụng pandas. khung dữ liệu với data=d làm tham số
  • Sau đó, chúng ta sẽ áp dụng hàm decode[] trong dữ liệu
  • Cuối cùng, chúng tôi sẽ in đầu ra
  • Do đó, bạn có thể thấy đầu ra

Cách giải mã [] có thể xóa tiền tố b của chuỗi

Hàm Decode[] dùng để loại bỏ tiền tố b của một chuỗi. Hàm được sử dụng để chuyển đổi từ lược đồ mã hóa, trong đó chuỗi đối số được mã hóa thành lược đồ mã hóa mong muốn, qua đó tiền tố b được loại bỏ. Chúng ta hãy xem ví dụ để hiểu khái niệm này một cách chi tiết


2

đầu ra


3

Sự khác biệt giữa kiểu dữ liệu byte và chuỗi trong Python

Kiểu dữ liệu chuỗi

Đó là một chuỗi các ký tự Unicode [được mã hóa bằng UTF -16 hoặc UTF-32 và hoàn toàn phụ thuộc vào quá trình biên dịch của Python]

kiểu dữ liệu byte

Nó được sử dụng để biểu thị một số nguyên trong khoảng từ 0 đến 255 và chúng ta có thể biểu thị nó là 'b' hoặc 'B'. ’

Ngoài ra, hãy đọc >> 4 cách tốt nhất để chuyển đổi hệ thập lục phân thành thập phân trong Python

Sự kết luận

Trong hướng dẫn này, chúng ta đã tìm hiểu về khái niệm chuyển đổi byte thành chuỗi trong python. Chúng tôi đã thảo luận về tất cả các cách mà chúng tôi có thể chuyển đổi byte thành chuỗi. Tất cả các cách được giải thích chi tiết với sự trợ giúp của các ví dụ. Bạn có thể sử dụng bất kỳ chức năng nào theo sự lựa chọn và yêu cầu của bạn trong chương trình

Tuy nhiên, nếu bạn có bất kỳ nghi ngờ hoặc câu hỏi nào, hãy cho tôi biết trong phần bình luận bên dưới. Tôi sẽ cố gắng giúp bạn trong thời gian sớm nhất

Làm cách nào để chuyển đổi dữ liệu byte thành chuỗi trong Python?

Các cách khác nhau để chuyển đổi Byte thành chuỗi trong Python. .
Sử dụng phương thức giải mã[]
Sử dụng hàm str[]
Sử dụng codec. phương pháp giải mã []
Sử dụng map[] mà không sử dụng tiền tố b
Sử dụng gấu trúc để chuyển đổi byte thành chuỗi

%B có nghĩa là gì trong Python?

Trong python, ký tự 'b' trước một chuỗi được sử dụng để chỉ định chuỗi đó là “chuỗi byte“ . Ví dụ. b_str = b'Xin chào, tôi là chuỗi byte'

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

Một phương pháp là tạo một biến chuỗi rồi nối giá trị byte vào biến chuỗi với sự trợ giúp của toán tử + . Điều này sẽ trực tiếp chuyển đổi giá trị byte thành một chuỗi và thêm nó vào biến chuỗi.

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

Sử dụng hàm decode[] để chuyển đổi Bytearray thành String trong Python. Một cách khác để chuyển đổi một mảng phụ thành chuỗi là sử dụng phương thức decode[]. Phương thức giải mã [], khi được gọi trên một đối tượng bytearray, sẽ lấy định dạng mã hóa làm đầu vào và trả về chuỗi đầu ra.

Chủ Đề