2013-12-16 13 views
8

Die specification von w3c Staaten nach der für Formen der enctype=application/x-www-form-urlencoded:Werden alle Arten von Zeilenumbrüchen konvertiert, wenn sie über ein HTML-Formular gesendet werden?

Dies ist das Standardinhaltstyp. Formulare, die mit diesem Inhalt eingereicht werden, müssen wie folgt codiert sein:

1) Namen und Werte von Steuerelementen sind nicht erlaubt. Leerzeichen werden durch +', and then reserved characters are escaped as described in [RFC1738], section 2.2: Non-alphanumeric characters are replaced by % HH 'ersetzt, ein Prozentzeichen und zwei Hexadezimalziffern, die den ASCII-Code des Zeichens darstellen. Linienbrüche werden als "CR LF" Paare (d. H. "% 0D% 0A") dargestellt.

2) Die Namen/Werte der Steuerung sind in der Reihenfolge aufgeführt, in der sie im Dokument erscheinen. Der Name wird vom Wert durch =' and name/value pairs are separated from each other by & getrennt.

In Unicode gibt es einige Arten von Abschlusszeichen. Nämlich:

LF: Line Feed, U+000A 
VT: Vertical Tab, U+000B 
FF: Form Feed, U+000C 
CR: Carriage Return, U+000D 
CR+LF: CR (U+000D) followed by LF (U+000A) 
NEL: Next Line, U+0085 
LS: Line Separator, U+2028 
PS: Paragraph Separator, U+2029 

Sind alle diese in CR LF konvertiert (\r\n)?

Antwort

3

Sind all diese in CR LF (\ r \ n) konvertiert?

Nein. Die HTML4 spec hier ist unklar, was ein Zeilenumbruch ist, aber welche Browser tun, und was HTML5 auf standardise gegangen ist, ist, dass nur CR und LF sind beteiligt: ​​

jedes Auftreten eines „CR“ ersetzen (Zeichen U + 000D), gefolgt von einem Zeichen "LF" (U + 000A) und bei jedem Auftreten eines Zeichens "LF" (U + 000A), dem kein Zeichen "CR" (U + 000D) vorangestellt ist, zwei Zeichen -Charakter Zeichenfolge bestehend aus einem U + 000D CARRIAGE RETURN „CRLF“ (U + 000A) Zeichenpaar

(IE nicht ganz genau dies entspricht, wie es LFCR als einzelnes newline behandelt. Aber es ist nah genug.)

Verwandte Themen