【发布时间】:2020-07-03 19:28:28
【问题描述】:
我正在尝试解码 HTTP 中的文件名,但来自浏览器消息的字符串不同。
在我的测试文件中,我输入了名称 ç.jpg。
我需要的是%C3%A7.jpg这个名字。
但是浏览器正在发送 %C3%83%C2%A7.jpg。
不是 UTF8、UTF16 或 UTF32。
再举一个例子,我测试文件名 €.jpg。
我需要的是%E2%82%AC.jpg这个名字。
但我收到 %C3%A2%E2%80%9A%C2%AC.jpg。
如何将这些名称转换为 UTF8?
【问题讨论】:
-
知道这些文件名是如何生成的吗?显然,在创建这些 urlencoded 文件名时存在错误。另外,你想用什么语言解决这个问题?
-
嗨。我正在尝试用 C++ 创建一个 http 服务器。当我收到获取文件消息时,这是铬浏览器发送的文件名。我用firefox测试,我有相同的文件名。我认为这是一个新的 http 编码器,但我没有找到任何关于此的内容。