Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

แปลงคีย์ byteString:คู่ค่าของพจนานุกรมเป็นสตริงใน Python


สตริงไบต์ในไพ ธ อนคือสตริงที่แสดงด้วยตัวอักษร b นำหน้า ในบทความนี้ เราจะมาดูวิธีการแปลงพจนานุกรมที่มีสตริงไบต์โค้ดเป็นพจนานุกรมปกติซึ่งแสดงเฉพาะสตริงเท่านั้น

ด้วยการถอดรหัสและ ascii

วิธีสตริง Python decode() ถอดรหัสสตริงโดยใช้ตัวแปลงสัญญาณที่ลงทะเบียนสำหรับการเข้ารหัส ค่าเริ่มต้นเป็นการเข้ารหัสสตริงเริ่มต้น เราใช้เพื่อแปลงค่า bytecode เป็นค่า asci ปกติโดยใส่ ascii เป็นพารามิเตอร์ให้กับฟังก์ชันถอดรหัส

ตัวอย่าง

bstring = {b'day': b'Tue', b'time': b'2 pm', b'subject': b'Graphs'}
print(bstring)
# Use decode
stringA = {y.decode('ascii'): bstring.get(y).decode('ascii') for y in bstring.keys()}
# Result
print(stringA)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

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

ด้วยการถอดรหัสและ utf-8

เราสามารถใช้แนวทางที่คล้ายกันข้างต้นได้ แต่คราวนี้ใช้ utf-8 ออกแบบ for loop สำหรับคู่ค่าของคีย์และวนซ้ำแต่ละคู่เพื่อแปลงค่าเป็นการแทนค่า utf-8

ตัวอย่าง

bstring = {b'day': b'Tue', b'time': b'2 pm', b'subject': b'Graphs'}
print(bstring)
# Use decode
stringA = {}
for key, value in bstring.items():
   stringA[key.decode("utf-8")] = value.decode("utf-8")
# Result
print(stringA)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

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