Hướng dẫn xml bytes to string python - xml byte để chuỗi python

147

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 đã đọc trong một tệp đính kèm email XML với

bytes_string=part.get_payload(decode=False)

Tải trọng đi kèm dưới dạng chuỗi byte, như tên biến của tôi cho thấy.

Tôi đang cố gắng sử dụng phương pháp Python 3 được đề xuất để biến chuỗi này thành một chuỗi có thể sử dụng mà tôi có thể thao tác.

Ví dụ cho thấy:

str(b'abc','utf-8')

Làm cách nào tôi có thể áp dụng đối số từ khóa b (byte) cho biến

str(b'abc','utf-8')
0 của tôi và sử dụng phương pháp được đề xuất?

Cách tôi thử không hoạt động:

str(bbytes_string, 'utf-8')

Hướng dẫn xml bytes to string python - xml byte để chuỗi python

Sjakobi

3,4661 Huy hiệu vàng25 Huy hiệu bạc42 Huy hiệu đồng1 gold badge25 silver badges42 bronze badges

Đã hỏi ngày 25 tháng 6 năm 2015 lúc 18:29Jun 25, 2015 at 18:29

1

Bạn đã có nó gần đúng trong dòng cuối cùng. Bạn muốn

str(bytes_string, 'utf-8')

Bởi vì loại ____10 là

str(b'abc','utf-8')
2, giống như loại
str(b'abc','utf-8')
3.

ndmeiri

4.91812 Huy hiệu vàng34 Huy hiệu bạc42 Huy hiệu Đồng12 gold badges34 silver badges42 bronze badges

Đã trả lời ngày 25 tháng 6 năm 2015 lúc 21:09Jun 25, 2015 at 21:09

Hướng dẫn xml bytes to string python - xml byte để chuỗi python

Toby Speighttoby SpeightToby Speight

25.8K47 Huy hiệu vàng62 Huy hiệu bạc95 Huy hiệu Đồng47 gold badges62 silver badges95 bronze badges

4

Gọi

str(b'abc','utf-8')
4 trên một ví dụ
str(b'abc','utf-8')
2 để lấy văn bản mà nó mã hóa.

str = bytes.decode()

Đã trả lời ngày 25 tháng 6 năm 2015 lúc 18:36Jun 25, 2015 at 18:36

uname01uname01uname01

1.1618 Huy hiệu bạc9 Huy hiệu đồng8 silver badges9 bronze badges

4

Làm thế nào để lọc (Bỏ qua) Charachers không phải UTF8 từ Array?

Để giải quyết nhận xét này trong bài đăng của @uname01 và OP, hãy bỏ qua các lỗi:

Mã số

>>> b'\x80abc'.decode("utf-8", errors="ignore")
'abc'

Thông tin chi tiết

Từ các tài liệu, đây là nhiều ví dụ sử dụng cùng một tham số

str(b'abc','utf-8')
6:

>>> b'\x80abc'.decode("utf-8", "replace")
'\ufffdabc'
>>> b'\x80abc'.decode("utf-8", "backslashreplace")
'\\x80abc'
>>> b'\x80abc'.decode("utf-8", "strict")  
Traceback (most recent call last):
    ...
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0:
  invalid start byte

Đối số lỗi chỉ định phản hồi khi chuỗi đầu vào có thể được chuyển đổi theo các quy tắc mã hóa. Các giá trị pháp lý cho đối số này là

str(b'abc','utf-8')
7 (tăng ngoại lệ
str(b'abc','utf-8')
8),
str(b'abc','utf-8')
9 (sử dụng
str(bbytes_string, 'utf-8')
0,
str(bbytes_string, 'utf-8')
1) hoặc
str(bbytes_string, 'utf-8')
2 (chỉ cần để ký tự ra khỏi kết quả Unicode).

Đã trả lời ngày 23 tháng 3 năm 2018 lúc 19:47Mar 23, 2018 at 19:47

Hướng dẫn xml bytes to string python - xml byte để chuỗi python

Pylangpylangpylang

36.8k11 Huy hiệu vàng121 Huy hiệu bạc112 Huy hiệu đồng11 gold badges121 silver badges112 bronze badges

UPDATED:

Không có bất kỳ b và trích dẫn lúc đầu và kết thúc

Làm thế nào để chuyển đổi

str(b'abc','utf-8')
2 như đã thấy thành các chuỗi, ngay cả trong các tình huống kỳ lạ.

Vì mã của bạn có thể có các ký tự không thể nhận ra để mã hóa

str(bbytes_string, 'utf-8')
5, tốt hơn là sử dụng chỉ STR mà không cần bất kỳ tham số bổ sung nào:unrecognizable characters to
str(bbytes_string, 'utf-8')
5 encoding, it's better to use just str without any additional parameters:

some_bad_bytes = b'\x02-\xdfI#)'
text = str( some_bad_bytes )[2:-1]

print(text)
Output: \x02-\xdfI

Nếu bạn thêm tham số

str(bbytes_string, 'utf-8')
5, vào các byte cụ thể này, bạn sẽ nhận được lỗi.

Như Python 3 Standard nói,

str(bbytes_string, 'utf-8')
7 sẽ ở UTF-8 bây giờ mà không quan tâm.

Đã trả lời ngày 14 tháng 10 năm 2017 lúc 20:22Oct 14, 2017 at 20:22

Hướng dẫn xml bytes to string python - xml byte để chuỗi python

SeyfiseyfiSeyfi

1.6901 Huy hiệu vàng18 Huy hiệu bạc33 Huy hiệu đồng1 gold badge18 silver badges33 bronze badges

4

Làm thế nào để bạn chuyển đổi byte thành chuỗi?

Một phương thức là tạo một biến chuỗi và sau đó nối giá trị byte vào biến chuỗi với 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.create a string variable and then append the byte value to the string variable with the help of + operator. This will directly convert the byte value to a string and add it in the string variable.

Làm thế nào để bạn chuyển đổi dữ liệu byte thô 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 decode () ..
Sử dụng hàm str () ..
Sử dụng codec.Phương thức 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 ..

Làm cách nào để in dữ liệu byte trong Python?

String = "Python rất thú vị."# Chuỗi có mã hóa 'UTF-8' ARR = byte (Chuỗi, 'UTF-8') in mã (mảng) chạy ..
Kích thước = 5. mảng = byte (kích thước) in (mảng) mã chạy ..
rlist = [1, 2, 3, 4, 5] mảng = byte (rlist) in (mảng) mã chạy ..

Làm thế nào để bạn trích xuất dữ liệu từ một byte trong Python?

Chuyển đổi byte thành chuỗi trong Python..
bytedata = b "cho phép ăn a \ xf0 \ x9f \ x8d \ x95!".
# Hãy kiểm tra loại ..
print(type(byteData)).
str1 = bytedata.decode ('utf-8').
print(type(str1)).
print(str1).