www.mikrocontroller.net

Forum: PC-Programmierung Warum werden in Dateinamen %-Zeichen verwendet


Autor: Monika Clinton (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Mir ist aufgefallen dass vielfach Dateien ein oder mehrere %-Zeichen im 
Dateinamen enthalten, besonders häufig JPG.

Warum macht man so was ?


Gruss

Monika Clinton

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn nach dem % noch eine (Hex-)Zahl folgt, hast du es mit ASCII-Zeichen 
zutun, die Browsern scheinbar irgendwie Probleme bereiten.
Z.B.
%20 = " "
%26 = "&"

Autor: Monika Clinton (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha ich habe schon bemerkt wenn ich bestimmte Seiten die ich 
abgespeichert habe die Bilder nicht mehr angezeigt werden. Aber man kann 
es ändern in dem man die Zeichen Rauslöscht und die Website anpasst.

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Linux mag z.B. Leerzeichen nicht gerne in Dateinamen (wurde mir 
zugetragen), weswegen man das vermeiden sollte.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn nach dem % noch eine (Hex-)Zahl folgt, hast du es mit
> ASCII-Zeichen zutun, die Browsern scheinbar irgendwie Probleme
> bereiten.

Es sind halt Zeichen, die in URLs nicht vorkommen dürfen.

> Linux mag z.B. Leerzeichen nicht gerne in Dateinamen (wurde mir
> zugetragen), weswegen man das vermeiden sollte.

Das ist ziemlicher Blödsinn.

Autor: Thomas B. (yahp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Linux mag z.B. Leerzeichen nicht gerne in Dateinamen (wurde mir
> zugetragen), weswegen man das vermeiden sollte.

Solltest du schnell wieder vergessen, ist nämlich Quatsch.
Linux kann genau wie Windows Leerzeichen in Dateinamen ab. Ärgerlich ist 
es nur dann, wenn Dateinamen Kommandozeilenparameter werden sollen - 
Leerzeichen trennen ja typischerweise Parameter voneinander. Gilt für 
Windows aber auch. Der Punkt ist, dass verkorkste Dateinamen in 
Anführungszeichen eingeschlossen werden müssen bzw. dass die Leerzeichen 
"gequotet" werden müssen (gibts dafür eigentlich ein deutsches Wort?).

Autor: Bartli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> bzw. dass die Leerzeichen
> "gequotet" werden müssen (gibts dafür eigentlich ein deutsches Wort?).

Das (was du vermutlich meintest) hätt ich jetzt eher als Escaping 
bezeichnet, aber ein deutsches Wort kenn ich dafür trotzdem nicht :D

Autor: DER Wibbel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

"quoten" würde ich auf deutsch als "zitieren" bezeichnen. Uns "escaping" 
als "umschalten". Ich gestehe, so richtig passt das nicht.
Der Vorteil von deutsch als Sprache ist die halbwegs sinnvolle Grammatik 
und die flexiblen möglichkeiten der Wortbildung....die es eben 
erleichtern, Fremdworte in die Sprache zu integrieren.

Nicht ohne Grund liest sich technisches Englisch wie Deutsch mit 
englischen Vokabeln.....es sei denn, ein chinese hat es geschrieben. :-)

Nicht zum lachen.....ich finde immer häufiger Datenblätter, die noch nie 
von Japanisch, Koreanisch, Chinesich in Englisch übersetzt wurden, weil 
wir Westlinge langsam zur Minderheit werden. Das wird uns langfristig 
einen erheblichen Entwicklungsnachteil bringen, weil die Sprachbegabung 
bei uns Technickern ja eher unterentwickelt ist.

Euer Wibbel

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Linux mag z.B. Leerzeichen nicht gerne in Dateinamen (wurde mir
> zugetragen), weswegen man das vermeiden sollte.

In Linux und Unix sind in Dateinamen sämtliche Zeichen mit Ausnahme von 
'\0' (Stringendecode) und '/' (Verzeichnistrennzeichen) erlaubt. Auch 
nicht druckbare Zeichen und Steuerzeichen (z.B. ein Zeilenvorschub) sind 
möglich.

Wenn jemand bestimmte Zeichen in Dateinamen nicht mag, ist es der 
Benutzer. Der mag sie dann aber meist weder unter Linux noch Windows.

Autor: ITler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Durch %NUMMER werden spezielle Zeichen in URIs deklariert.
Da nur ASCII Standardzeichen in einer URL vorkommen können mußte das so 
gelöst werden, mit den neuen Konventionen und IP-V6 ist das anders 
gelöst.
Nachzulesen hier http://www.ietf.org/rfc/rfc2396.txt
Der Browser und Webserver übersetzen die Escape-Sequenzen selbständig, 
weswegen eine gespeicherte Seite wo die Bilder mit den Escape-Sequenzen 
gespeichert wurden nicht funtioniert.
Daher zum speichern entweder die Browserfunktion "Komplette Webseite 
speichern" oder einen Offline-Browser wie z.B. http://www.httrack.com/ 
nehmen.

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Bartli (Gast)

Escape (da sagte man auch schon mal "Fluchtzeichen" zu)
dienen dazu, die Funktion eines nachfolgenden Zeichens eine besondere 
Bedeutung zu geben. Wenn zum Beispiel * in bestimmten Stellen  als 
"Platzhalterzeichen" (Wildcard) interpretiert werden würde, wird durch 
\* mitgeteilt, daß tatsächlich der "Stern" als Zeichen gemeint ist, und 
nicht als Platzhalter für beliebige Zeichenfolgen interpretiert werden 
soll.

Quotes dienen dazu, eine "Klammer" um einen Text zu legen, um 
Sonderzeichen oder außergewöhnliche Symbole darin einzufangen. Bei Unix 
kann man da noch unterscheiden zwischen dem einfachen Hochkomma 'blub 
blub', der alles 1:1 übernimmt, und doppelten Hochkomma "bla bla", der 
versucht das was da drin steht gegebenenfalls zu substituieren.


Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DER Wibbel wrote:
> "quoten" würde ich auf deutsch als "zitieren" bezeichnen. Uns "escaping"
> als "umschalten". Ich gestehe, so richtig passt das nicht.

Wie wäre es mit "maskieren"? Man maskiert das Zeichen, damit es nicht 
als Funktions-Zeichen erkannt wird.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Escape (da sagte man auch schon mal "Fluchtzeichen" zu)
> dienen dazu, die Funktion eines nachfolgenden Zeichens eine besondere
> Bedeutung zu geben.

Wie kommst du darauf, dass das nur für exakt ein Zeichen gelten sollte?
Würdest du sagen, "\n" ist in C eine Escape-Sequenz, "\xa" nicht? Ist \ 
dann nur manchmal das Escape-Zeichen?

Siehe auch http://de.wikipedia.org/wiki/Escape-Sequenz

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Escape (da sagte man auch schon mal "Fluchtzeichen" zu)
>> dienen dazu, die Funktion eines nachfolgenden Zeichens eine besondere
>> Bedeutung zu geben.
>
> Wie kommst du darauf, dass das nur für exakt ein Zeichen gelten sollte?
> Würdest du sagen, "\n" ist in C eine Escape-Sequenz, "\xa" nicht? Ist \
> dann nur manchmal das Escape-Zeichen?

Natürlich wird nur einem nachfolgenden Zeichen eine neue Funktion 
gegeben:

Der '\' gibt dem 'x' die Funktion, selbst als Escape zu fungieren und 
dem nachfolgenden Zeichen die Funktion zu geben, die Hex-Darstellung 
eines Zeichencodes zu sein und zusätzlich als Escape für das hierauf 
folgende Zeichen zu fungieren, was diesem die Funktion gibt, als 
Hexadezimalzahl zum sechzehnfachen des Zeichencodes aus dem vorigen 
Schritt hinzuaddiert zu werden, falls es sich dabei um eine Hexziffer 
handelt, usw.

Ist alles nur ein Frage der Betrachtungsweise ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.