python tornado 中文参数 解码时会多出来几个字符ufeff

博客讨论了在使用Tornado框架时遇到的URL解码问题。原始URL参数中的%E8%89%BE%E8%8D%89(艾草)在解码过程中错误地变成了ufeff艾草,原因是UTF-8的BOM头(%EF%BB%BF)导致的。作者发现并确认了ufeff是UTF-8带BOM的隐形字符,并提供了将文件编码从UTF-8 with BOM改为UTF-8的解决方案。
部署运行你感兴趣的模型镜像

原始地址是这样的

http://localhost:8080/GetImages?LabelSetName=%EF%BB%BF%E8%89%BE%E8%8D%89

后面的参数是
%EF%BB%BF%E8%89%BE%E8%8D%89 是中文 艾草 的Url编码

可是到了tornado 解码的时候无缘无故的变成了 ufeff艾草
这瞬间把我搞蒙了.

这是啥原因呢?

于是我把编码后的参数放到了, 网站上编码和解码,
经过研究发现 ufeff 是前面的3个字符产生的 %EF%BB%BF
后面的 %E8%89%BE%E8%8D%89 才是真正的艾草…
这是啥字符呢? 为什么会多出来这几个字符呢?
突然间我就想到了这几个字符好像是 Utf8 的 BOM 头… 是不可见字符…

解决方案是把uf8 文件中的 编码从 utf8 with bom 改成 utf8 编码就可以了

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值