Python 3拉丁字符转换为Unicode转义序列的实现方法问询
Python 3 实现Unicode转义的解决方案
你要的\uXXXX格式的Unicode转义,可以直接用Python内置的json模块实现,不需要额外安装第三方依赖,完全适配API Payload的格式要求,示例代码如下:
import json input_str = 'Ul Świętojańska 12' # json序列化默认会将非ASCII字符转为\u转义格式,外层会包裹双引号,去除即可 output_str = json.dumps(input_str).strip('"') print(output_str) # 输出结果:Ul \u015awi\u0119toja\u0144ska 12
相关说明
json.dumps()默认开启ensure_ascii=True参数,所有不在ASCII范围内的字符都会被转为\uXXXX格式的标准Unicode转义序列,完全符合绝大多数API的Payload格式规范- 你也可以用
encode方法实现,写法如下,但注意该方案的转义规则和JSON规范存在差异,更推荐上面的json模块方案:
input_str = 'Ul Świętojańska 12' output_str = input_str.encode('unicode_escape').decode('utf-8')
- 你提到的
urllib.parse.quote和requests.utils.quote都是做URL编码的,输出的是%XX格式的转义结果,和你需要的\uXXXX格式不属于同一编码规则,自然无法满足需求
内容的提问来源于stack exchange,提问作者K Ashish
相关产品推荐
相关产品推荐

