สตริงไบต์ในไพ ธ อนคือสตริงที่แสดงด้วยตัวอักษร 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'}