Dateinamen: Unerlaubte Zeichen durch Unicode ersetzen

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Warf
Beiträge: 1913
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Dateinamen: Unerlaubte Zeichen durch Unicode ersetzen

Beitrag von Warf »

Jorg3000 hat geschrieben:
Di 18. Jul 2023, 12:52
Die so gespeicherten PDF-Dateien müssen sicherlich niemals von irgendwem in eine Shell getippt werden. Der Anwender guckt sich die Dateiliste im Windows File Explorer an und macht einen Doppelklick, um ein PDF im Viewer zu öffnen. That's all.
Dann wählst du die Datei in einem Programm aus, der Dateiname steht in einem Edit Feld, du verklickst dich, löschst Teile vom Dokumentennamen, und willst sie wieder eintippen. Genau so etwas ist mir schon öfter passiert, nur das wenn da die Zeichen drin stehen die du auch siehst, kannst du es nachtippen, wenn da homomorphe Unicode zeichen drin sind dann nicht. Und es gibt keine schlimmere User Experience als etwas das genau so aussieht wie vorher als es funktioniert hat aber jetzt nicht mehr funktioniert und es ohne Hintergrundkentniss nicht ersichtlich ist warum.

Verschiedene dinge die exakt gleich aussehen sich aber anders Verhalten sind User-Experience Mäßig immer eine sehr schlechte Idee.

Und wie vorher schon gesagt, ist das nicht nur im Direkten Gebrauch eine schlechte Idee, sondern spätestens wenn die Dateien mit einem eMail Spam Filter oder Virenschutzprogramm bekanntschaft machen findet man schnell heraus das Homomorphe Unicode Zeichen in Latin Text einzubetten keine gute Idee ist.
Jorg3000 hat geschrieben:
Di 18. Jul 2023, 13:23
Was machen eigentlich Linux-Admins in China? Die kennen doch auch nicht jedes einzelne, seltene Schriftzeichen und wissen spontan, wie es an der Tastatur einzugeben ist.
Gibt es in der Linux-Konsole denn kein Copy&Paste? (kenne mich damit nicht aus)
Für Computernutzung haben die Chinesen sich ein recht gutes System ausgedacht, im grunde Tippt man Phonetisch wie die Silbe Ausgesprochen wird, und dann macht "Autokorrektur" (wie beim Handy gibts aber schon viel Länger) daraus ein Zeichen.
Zusätzlich kommt dazu das die Chinesen zwar mehr als 100.000 Zeichen haben, die meisten davon sind auch im Unicode Standard enthalten (ich glaube 90k Chinesisch und nochmal 10k Taiwan Chinesisch oder so), aber es gibt diverse Reduzierte Versionen von Chinesisch. Ich glaub auf dem Hauptkontinent wird Simplified Chinese verwendet, während Taiwan und Makau eigene systeme haben. Im Endeffekt wird hierbei aber nur ein recht überschaubarer Zeichensatz verwendet, die ganzen anderen Zeichen sind halt um Bücher und Schriften zu digitalisieren die z.T. sehr alt sind und daher Zeichen nutzen die heutzutage nicht mehr genutzt werden.

Mathias
Beiträge: 6210
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Dateinamen: Unerlaubte Zeichen durch Unicode ersetzen

Beitrag von Mathias »

Was auch noch Probleme verursachen kann.
Wen man bei einem Dateiname hinten eine Leerzeichen einfügt. Linux erlaubt dies, Windows nicht.
Vorhin hat gerade mein Backup-Programm wegen dem reklamiert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten