Warum wird beim Kopieren einer nicht englischen URL aus der Adressleiste die URL codiert und nicht der Text, den ich sehe (dekodiert)?

717
arieljannai

Wenn ich einen Link aus der Adressleiste kopiere, dessen Zeichen normalerweise codiert werden müssen, enthält der kopierte Link den codierten Text und nicht den decodierten (was visuell sichtbar ist).

Wenn ich jedoch etwas in der URL bearbeite (und wieder herstelle), z. B. Leerzeichen hinzufügen und löschen, wird der kopierte Text entschlüsselt.

Warum ist das Verhalten? Gibt es einen Grund dafür oder willkürlich?

Hinweis: Nach dem, was ich geprüft habe - dies ist das Verhalten in Chrome und Firefox, nicht jedoch Edge (wodurch der dekodierte Text kopiert wird).

Gibt es eine Möglichkeit, das Verhalten zu ändern und immer die (schöne) decodierte URL zu kopieren?
(Zumindest für Chrome)


Beispiel:

Das Durchsuchen dieser Adresse wird https://he.wikipedia.org/wiki/עוגייהin der Adressleiste angezeigt, beim Kopieren jedoch kopiert https://he.wikipedia.org/wiki/%D7%A2%D7%95%D7%92%D7%99%D7%99%D7%94.
Wenn Sie vor dem Kopieren etwas bearbeiten, ändert sich dieses Verhalten.

Warum wird beim Kopieren einer nicht englischen URL aus der Adressleiste die URL codiert und nicht der Text, den ich sehe (dekodiert)?

2

2 Antworten auf die Frage

3

Es ist eine bewusst implementierte und sehr nützliche Funktion von Webbrowsern:

  • Beim Ausgeben eines Kopierbefehls für die gesamte URL codiert der Webbrowser diese in einer bestimmten Form. Sie tun dies mit einem einzigen Klick in der Adressleiste. Der Hinweis ist, dass die gesamte Adressleiste ausgewählt ist.
  • Wenn Sie sich zuerst für die Auswahl eines Teils der URL entscheiden (auch wenn Sie dann alles auswählen), kopiert der Webbrowser nur das, was Sie sehen. Sie tun dies mit einem einzigen Klick, gefolgt von einem weiteren einfachen Klick (oder einfach nur einem Doppelklick), und wählen Sie dann aus, was Sie möchten.

Es gibt auch einen Teil, den Sie möglicherweise nicht kennen: https://he.wikipedia.org/wiki/עוגייהDer Webbrowser konvertiert ihn beim Einsteigen https://he.wikipedia.org/wiki/%D7%A2%D7%95%D7%92%D7%99%D7%99%D7%94in den Hintergrund, bevor er ihn online überträgt.

Das alles hat einen Grund. Ich erspare Ihnen die Details und gebe Ihnen nur das Endergebnis: Die kodierte URL ist die echte URL. Die "nette" URL, wie Sie es sagen, ist nur etwas, um das Leben für Sie zu vereinfachen. Letztere funktioniert daher möglicherweise nicht in allen webfähigen Apps, während die erstere garantiert funktioniert.

Nachtrag: Sie können die "nette" URL möglicherweise nicht einmal ordnungsgemäß per E-Mail, Instant Messaging oder SMS versenden! Es hängt wirklich davon ab, ob der von Ihnen verwendete Dienst und Ihr Empfänger Unicode unterstützen. (Gmail, Hotmail, Skype und Telegramm sind in Ordnung. Ich bin mir nicht sicher, was Sprint, Verizon oder den SMS-Dienst von AT & T betrifft.)

Danke für deine Antwort! Ich weiß eigentlich, dass es genau das ist, was wir sehen, und dass die tatsächliche URL die verschlüsselte ist. Ich habe nur an die Endbenutzerperspektive gedacht und habe nicht daran gedacht, die URL an Anwendungen zu übergeben, die sie möglicherweise nicht unterstützen. arieljannai vor 5 Jahren 0
2
Anaksunaman

Das URL-kodierte Format ist das Format, das von Anwendungen verwendet wird, die im Web kommunizieren. Es wird standardmäßig von Firefox / Chrome auf diese Weise kopiert, um die Verwendbarkeit der kopierten URL zu gewährleisten.

Der Grund, warum sich die URL bei der Bearbeitung "ändert", ist mit großer Wahrscheinlichkeit, weil der Browser Unterschiede in der URL-Zeichenfolge festgestellt hat, die möglicherweise erneut codiert werden müsste.

Gibt es eine Möglichkeit, das Verhalten zu ändern und immer die (schöne) decodierte URL zu kopieren (zumindest für Chrome)?

Feuerfuchs

Dieser Super User Frage hat eine Antwort, die besagt, Sie den Wert festlegen, browser.urlbar.decodeURLsOnCopyum Trueunter about:configin Firefox 53+ automatisch die Nicht-URL Form einer URL codiert zu kopieren. Dies funktionierte für mich, obwohl ich es nicht mit den neuesten Firefox-Versionen getestet habe.

Chrom

Ich habe keine internen Einstellungen für Chrome gefunden, aber ich habe eine Empfehlung für Stack Overflow für eine Chrome-Erweiterung namens COPY URL (zuletzt zum Zeitpunkt des Schreibens vom Februar 2018 aktualisiert) gefunden, die Ihre Beispiel-URL ohne Kodierung zu kopieren schien, wie angekündigt .

Als kleinen Vorbehalt in Bezug auf diese Erweiterung, während Links, die in Seiten eingebettet waren, eine COPY URLOption im Rechtsklickmenü hatten, mussten URLs für "Adressleiste" durch Klicken mit der linken Maustaste auf das Erweiterungssymbol COPY URL rechts neben der Omnibox (in der Nähe der Omnibox) kopiert werden das Einstellungsmenü).


Wenn Sie mit Windows arbeiten, ist es wahrscheinlich auch erwähnenswert, dass Sie eine Gruppe von URL-codierten URLs in Notepad ++ einfügen können. Wählen Sie dann Bearbeiten → Alle auswählen ( Ctrl+ A). Verwenden Sie dann Plugins → MIME-Tools → URL, sofern Sie über die Standard-Plugins verfügen Decodieren, um alle URLs gleichzeitig zu decodieren.


Vielen Dank! Ich habe das Verhalten in Firefox geändert. Über Chrome - die Erweiterungen scheinen mir etwas nutzlos zu sein, da ich bereits gewohnt bin, vor dem Kopieren ein Leerzeichen an der Adresse hinzuzufügen und zu löschen. Das Klicken auf die Erweiterung wäre also langsamer und weniger komfortabel. Ich verwende diese Methode bereits mit Notepad ++, wenn ich einen Großteil brauche, es ist großartig :) arieljannai vor 5 Jahren 0
Lol, du bist willkommen! Sie scheinen hier den Dingen weit voraus zu sein. =) In Bezug auf die Erweiterung ist es wahrscheinlich nicht von großem Vorteil. Es ist ein bisschen unglücklich, dass Chrome beschlossen hat, sich so fest einzusperren. Anaksunaman vor 5 Jahren 1