【发布时间】:2011-08-04 15:41:54
【问题描述】:
是否所有(主要)浏览器/操作系统都以相同的方式发送换行符?
还是 Windows 客户端以\r\n 发送换行符,而 *nix 以\n 发送换行符?
【问题讨论】:
标签: html forms textarea form-processing
是否所有(主要)浏览器/操作系统都以相同的方式发送换行符?
还是 Windows 客户端以\r\n 发送换行符,而 *nix 以\n 发送换行符?
【问题讨论】:
标签: html forms textarea form-processing
不幸的是,它们对于不同的操作系统是不同的。
在预处理 HTML 输入时,至少 HTML 会尝试弥补这一点:
U+000D CARRIAGE RETURN (CR) 字符和 U+000A LINE FEED (LF) 字符被特殊处理。必须删除后跟 LF 字符的任何 CR 字符,并且必须将任何不跟 LF 字符的 CR 字符转换为 LF 字符。因此,HTML DOM 中的换行符由 LF 字符表示,并且在标记化阶段的输入中永远不会有任何 CR 字符。
http://dev.w3.org/html5/spec/parsing.html#preprocessing-the-input-stream
【讨论】: