python post请求阿拉伯语问题utf-8编码[重复]

问题描述 投票:0回答:1

我通过 python 中的 post 请求在参数中发送字典。 问题是我的密钥之一在阿拉伯语中具有价值。接收者说他们正在以该密钥接收数据作为

"\u062c\u0648\u062c\u0644"
,我猜这是 utf-8 编码形式。

我只想用阿拉伯语发送我的数据。接收方无能为力。所以代码必须在我这边完成。

我发送的数据。

{'Data': {'SickLeaveDate': '1444-10-07', 'PatientEmployeer': 'جوجل', 'PatientJob': 'تطوير البرمجيات'}}

他们收到的数据。

{"Data": {"SickLeaveDate": "1444-10-07", "PatientEmployeer": "\u062c\u0648\u062c\u0644", "PatientJob": "\u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0627\u062a"}}

headers = {
            'accept': 'application/json',
            'apikey': XXXXXXXXX
        }

requests.post(url, headers=headers, json=dict)
python post utf-8 request
1个回答
0
投票

这是一个有效的 JSON 字符串。接收方需要解码 JSON。它不是“utf-8 编码形式”。它是 Unicode 代码点的转义码,在这种情况下代表您的阿拉伯字符。

>>> import json
>>> s = '''{"Data": {"SickLeaveDate": "1444-10-07", "PatientEmployeer": "\u062c\u0648\u062c\u0644", "PatientJob": "\u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0627\u062a"}}'''
>>> json.loads(s)
{'Data': {'SickLeaveDate': '1444-10-07', 'PatientEmployeer': 'جوجل', 'PatientJob': 'تطوير البرمجيات'}}
© www.soinside.com 2019 - 2024. All rights reserved.