Byte string ใน Python มี prefix b ต้องการแปลง dictionary ที่ key และ value เป็น byte string ให้เป็นสตริงทั่วไป
ใช้ decode('ascii')
decode('ascii') แปลง byte string เป็น ASCII string
ตัวอย่าง
bstring = {b'day': b'Tue', b'time': b'2 pm', b'subject': b'Graphs'}
print(bstring)
stringA = {y.decode('ascii'): bstring.get(y).decode('ascii') for y in bstring.keys()}
print(stringA)
ผลลัพธ์
{'subject': 'Graphs', 'day': 'Tue', 'time': '2 pm'}
{'time': '2 pm', 'day': 'Tue', 'subject': 'Graphs'}
ใช้ decode('utf-8')
คล้ายด้านบน แต่ใช้ utf-8 รองรับตัวอักษรกว้างขึ้น
ตัวอย่าง
bstring = {b'day': b'Tue', b'time': b'2 pm', b'subject': b'Graphs'}
print(bstring)
stringA = {}
for key, value in bstring.items():
stringA[key.decode("utf-8")] = value.decode("utf-8")
print(stringA)
ผลลัพธ์
{'subject': 'Graphs', 'day': 'Tue', 'time': '2 pm'}
{'time': '2 pm', 'day': 'Tue', 'subject': 'Graphs'}