gpt4 book ai didi

javascript - 解码使用 JS encodeURIComponent 函数编码的参数

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:19 26 4
gpt4 key购买 nike

我有一个应用程序,它接受用户输入的文本并将其作为 URL 的一部分传递到服务器,以便可以呈现包含文本的图像。 URL 参数使用 encodeURIComponent 函数进行编码。

我遇到的问题是,如果用户输入包含 + 或外来字符的文本,我无法在服务器端正确解码字符串。

例如,如果字符串是“François + Anna”

编码后的URL为previewImage.ashx?id=1&text=Fran%25E7ois%2520%2B%2520Anna

在服务器上

Uri.UnescapeDataString( Context.Request.QueryString["text"] )

抛出“无效的 URI:字符串中存在无效的序列。”异常(exception)。如果我替换字符串中的扩展字符,它将被解码为“Francois + Anna”

但是,如果我使用

HttpUtility.UrlDecode(
Context.Request.QueryString["text"], System.Text.UTF8Encoding.UTF7 )

外文解码正确,但编码后的+变为空格; “弗朗索瓦·安娜”。

最佳答案

网址一开始就没有正确编码。 previewImage.ashx?id=1&text=Fran%25E7ois%2520%2B%2520Anna 不是 François + Anna 的正确 URL 编码

我认为正确的编码应该是 previewImage.ashx?id=1&text=Fran%E7ois+%2B+AnnapreviewImage.ashx?id=1&text=Fran%E7ois%20 %2B%20安娜

编码固定后,您应该能够通过简单的 Context.Request.QueryString["text"] 调用检索结果。无需做任何特别的事情。

关于javascript - 解码使用 JS encodeURIComponent 函数编码的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29923945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com