在使用JSON進行數據傳輸時,經常會遇到中文亂碼的問題。這是因為JSON默認使用Unicode字符編碼,而在傳輸過程中數據的編碼可能發生了變化,導致接收方無法正確地解碼。
為了解決這個問題,我們需要在發送方將數據進行UTF-8編碼,同時在接收方進行解碼。下面是一個示例代碼:
# 發送方代碼 import json data = {"name": "張三", "age": 20} json_str = json.dumps(data, ensure_ascii=False).encode('utf8') # 這里的ensure_ascii=False是為了禁用默認的ASCII編碼,避免中文被轉義 # 在發送數據時,把編碼轉成utf8 send_data(json_str) # 接收方代碼 import json recv_data = receive_data() # 接收數據 json_str = recv_data.decode('utf8') # 把編碼還原成utf8 data = json.loads(json_str) # 解碼JSON數據 print(data["name"], data["age"])
需要注意的是,在實際使用中,數據傳輸的編碼方式可能有所不同,也需要根據實際情況調整編碼和解碼的方式。