简单的网络服务器:表单 post 数据以 quoted-printable 编码

Simple web server: form post data is encoded in quoted-printable

我正在尝试实现一个基本的 HTTP 服务器代码来呈现 Web 表单并在用户点击提交时处理 posted 数据。代码托管于此:http://www.codeproject.com/Articles/137979/Simple-HTTP-Server-in-C

不过,我得到的 post 数据采用的是引用打印格式,我不想弄乱这些数据。我怎样才能用 UTF-8 编码包装所有内容?

也许您可以阐明我的特定问题,或者您可以建议一种不同的方法来呈现 Web 表单和处理提交的数据。还是谢谢你... Sample webform and post data

你正在混合苹果和橙子。内容传输编码将字符数据封装在一个健壮的包装器中,该包装器转义在协议级别上具有重要意义的任何字符。这 不管 数据中的字符集如何。在 quoted-printable 数据中,您可以找到任何字符集的字符数据(或二进制数据,尽管 base64 通常是首选的内容传输编码)。

所以重申一下,您没有 either/or 选择 -- 您收到的字符数据 将具有 内容传输编码(可以是透明的;MIME称此 "binary",虽然“8bit”和“7bit”内容传输编码也是透明的,尽管仅适用于某些受限类型的数据) 字符编码(可能是 "US-ASCII" 又名普通的旧 7 位字符数据,具有非常有限的字符库,或者 "ISO-8859-1" 是 8 位的,因此具有稍大的库,但仍然受到限制;或者 Unicode 之一编码,例如 "UTF-8").

如果不处理 MIME 的这一方面,您确实无法处理 HTTP。