Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chuyển đổi cặp khóa-giá trị byte string trong từ điển thành chuỗi trong Python

Byte string trong Python là chuỗi có tiền tố b. Bài viết trình bày cách chuyển từ điển có khóa/giá trị byte string thành từ điển chỉ chứa chuỗi bình thường.

Sử dụng decode và ascii

Phương thức decode() giải mã chuỗi dùng codec đăng ký cho encoding. Mặc định dùng encoding mặc định. Dùng nó chuyển byte string thành giá trị ASCII thường bằng cách cung cấp 'ascii' làm tham số.

Ví dụ

bstring = {b'day': b'Tue', b'time': b'2 pm', b'subject': b'Graphs'}
print(bstring)
# Sử dụng decode
stringA = {y.decode('ascii'): bstring.get(y).decode('ascii') for y in bstring.keys()}
# Kết quả
print(stringA)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

{'subject': 'Graphs', 'day': 'Tue', 'time': '2 pm'} {u'time': u'2 pm', u'day': u'Tue', u'subject': u'Graphs'}

Sử dụng decode và utf-8

Tương tự cách trên nhưng dùng utf-8. Thiết kế vòng lặp cho cặp khóa-giá trị và lặp qua từng cặp để chuyển giá trị thành biểu diễn utf-8.

Ví dụ

bstring = {b'day': b'Tue', b'time': b'2 pm', b'subject': b'Graphs'}
print(bstring)
# Sử dụng decode
stringA = {}
for key, value in bstring.items():
    stringA[key.decode("utf-8")] = value.decode("utf-8")
# Kết quả
print(stringA)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

{'subject': 'Graphs', 'day': 'Tue', 'time': '2 pm'} {u'time': u'2 pm', u'day': u'Tue', u'subject': u'Graphs'}