在 Asp.net C# 中解码来自 Request.InputStream 的文本



我正在尝试从HTML的隐藏输入中检索数据:

<INPUT type="hidden" name="HIDDENQUESMINV" id="HIDDENQUESMINV" value="@@Mínimo">

当我在提交表单后尝试通过 Request.InputStrem 获取其值时,我得到以下文本:@@M%C3%ADnimo

我的 HTML 是 UTF-8,当我通过 F12 看到它时很好,但请求改变了格式。我试图解码它,更改请求的编码,但没有任何效果。我有点迷茫,我不想替换所有这些角色。

谢谢,米格尔。

您的值是百分比编码的,因为这是通过 HTTP 协议传输所必需的。你可以使用解码

string decoded_value = Uri.UnescapeDataString(value_from_input_stream);

但我想知道你为什么要从输入流中读取值?简单地将值读取

string decoded_value = Request.Form["HIDDENQUESMINV"];

如果使用 POST 方法发送表单,或

string decoded_value = Request.QueryString["HIDDENQUESMINV"];

当使用 GET 方法发送表单时。这样,值已经解码,因此您无需担心。

最新更新