Können urls UTF-8-Zeichen?
War ich gespannt, ob ich sollte codieren urls mit ASCII oder UTF-8. Ich war in der Annahme, dass die urls können keine nicht-ASCII-Zeichen, aber jemand sagte mir, Sie können haben, UTF-8, und ich suchte herum und konnten nicht ganz feststellen was wahr ist. Wer weiß?
- mögliche Duplikate von Unicode-Zeichen in URLs
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt zwei Teile zu dieser, aber Sie beide Betrag auf "ja".
Mit IDNA, ist es möglich, domain-Namen registrieren über die volle Unicode-repertoire (mit ein paar kleinen Drehungen um Zweideutigkeiten zu vermeiden und Missbrauch).
Den Pfad-Teil ist nicht streng geregelt, aber es ist möglich zu Kodieren beliebige Zeichenfolgen in den Weg. Der browser könnte sich entscheiden, um anzuzeigen, eine lesbare rendering eher als einen codierten Pfad. Dies erfordert jedoch eine Heuristik, da es keine Möglichkeit gibt, geben Sie den Zeichensatz und die Kodierung des Pfades.
So, http://xn--msic-0ra.example/mot%C3%B6rhead ist ein (fiktives Beispiel, nicht ganz korrekt) computer-lesbare codierte URL, die angezeigt werden können dem Benutzer als http://müsic.example/motörhead. Der domain-name wird codiert, wie
xn--msic-0ra.example
in etwas namens Punycode, und der Pfad enthält das label "motörhead" kodiert als UTF-8-und URL-codiert (Unicode code point U+00F6 ist reprecented mit den zwei bytes 0xC3 0xB6 in UTF-8).Könnte der Pfad auch
mot%F6rhead
die das gleiche label im Latin-1. In diesem Fall, die Aufzucht eine vernünftig lesbare Darstellung würde sehr viel schwieriger sein, aber vielleicht ist der Kontext des umgebenden Charaktere bieten konnte genügend Hinweise für eine gute Vermutung.Isoliert
%F6
werden konnte so ziemlich alles, und%C3%B6
könnte z.B. UTF-16.