在 Asp.net C# 中解码来自 Request.InputStream 的文本
Decode Text from Request.InputStream in Asp.net C#
我正在尝试从 HTML:
的隐藏输入中检索数据
<INPUT type="hidden" name="HIDDENQUESMINV" id="HIDDENQUESMINV" value="@@Mínimo">
当我在提交表单后尝试通过 Request.InputStrem 获取它的值时,我得到了这个文本:@@M%C3%ADnimo
我的 HTML 是 UTF-8,当我通过 F12 看到它时它很好,但是请求改变了格式。我试图对其进行解码,以更改请求的编码,但根本没有任何效果。我有点迷失了这个,我不想替换所有这些字符。
谢谢你,
米格尔.
您的值为 Percent encoded,因为这是通过 HTTP 协议传输所必需的。你
可以使用
对其进行解码
string decoded_value = Uri.UnescapeDataString(value_from_input_stream);
但是我想知道你为什么要从InputStream中读取值?简单地读取值要容易得多
string decoded_value = Request.Form["HIDDENQUESMINV"];
如果使用 POST 方法发送表单,或者
string decoded_value = Request.QueryString["HIDDENQUESMINV"];
当使用 GET 方法发送表单时。这样,值已经被解码,因此您无需担心。
我正在尝试从 HTML:
的隐藏输入中检索数据<INPUT type="hidden" name="HIDDENQUESMINV" id="HIDDENQUESMINV" value="@@Mínimo">
当我在提交表单后尝试通过 Request.InputStrem 获取它的值时,我得到了这个文本:@@M%C3%ADnimo
我的 HTML 是 UTF-8,当我通过 F12 看到它时它很好,但是请求改变了格式。我试图对其进行解码,以更改请求的编码,但根本没有任何效果。我有点迷失了这个,我不想替换所有这些字符。
谢谢你, 米格尔.
您的值为 Percent encoded,因为这是通过 HTTP 协议传输所必需的。你 可以使用
对其进行解码string decoded_value = Uri.UnescapeDataString(value_from_input_stream);
但是我想知道你为什么要从InputStream中读取值?简单地读取值要容易得多
string decoded_value = Request.Form["HIDDENQUESMINV"];
如果使用 POST 方法发送表单,或者
string decoded_value = Request.QueryString["HIDDENQUESMINV"];
当使用 GET 方法发送表单时。这样,值已经被解码,因此您无需担心。