3

我关于 SO 的第一个问题 :-)

背景:我正在开发需要过滤 HTTP 流量的软件。在处理需要检查 POST 请求内容的部分时,出现了如何解释接收到的与字符集相关的数据的问题。

为了知道我的代码应该在“Content-Type”标头中接受哪些字符集名称,我首先查找了一个详尽的字符集名称列表,然后发现:http ://www.iana.org/assignments/character-sets

(当然,这个列表太长了,无法全部支持,我将选择一个与我的案例相关的小子集。)

问题:从列表中,我认为“UTF8”(不带破折号)不是 IANA 定义的字符集名称,但它似乎有时仍然在使用,并且大多数服务器/浏览器都会理解它。我的过滤器应该能够理解 IANA 未列出的其他常见字符集名称的情况吗?

一般来说:某处是否有“更完整”的列表?

更具体地说:是否存在 IANA 未列出的 US-ASCII 字符集的别名?

4

1 回答 1

1

Masato Kinugawa (@kinugawamasato) 为每个 Web 浏览器列出了可接受的字符集名称。请参阅http://l0.cm/encodings/list/

例如,在 Chrome 中被视为 US-ASCII 别名的字符集名称是:

  • windows-1252
  • ansi_x3.4-1968
  • ASCII
  • cp1252
  • cp819
  • cisolatin1
  • ibm819
  • iso_8859-1
  • iso_8859-1:1987
  • 异88591
  • iso8859-1
  • ISO-8859-1
  • 异ir-100
  • l1
  • 拉丁语1
  • 美国ASCII码
  • x-cp1252

如网站所述,您还可以在http://l0.cm/encodings/check/中自行测试浏览器的行为。

于 2020-08-04T14:00:27.303 回答