Seite 1 von 1

Encoder für ungültige Zeichen im Dateinamen

Verfasst: 10.11.2024 11:35
von stevie1401
Ich möchte für einen User einen eigenen Dateinamen erstellen.
Leider gibt es ungültige Zeichen im Namen des Users.
Z.B. "Sören%&*33"
Deshalb kann ich keine Datei mit dem Namen: "Sören%&*33.txt" erstellen.
Gibt es einen En- und Decoder, der das möglich macht?
Oder hat jemand eine andere Lösung parat?

Re: Encoder für ungültige Zeichen im Dateinamen

Verfasst: 10.11.2024 11:56
von Bisonte
suche dir eine Liste mit Zeichen, die nicht in Filenamen vorkommen dürfen für dein Betriebssystem/Filesystem
und ersetze im dateinamen einfach alle diese zeichen durch ein von dir bestimmtes zeichen.

ReplaceString() ist hier die Anlaufstelle in der Hilfe.

Re: Encoder für ungültige Zeichen im Dateinamen

Verfasst: 10.11.2024 14:12
von SMaag
here is a link to a discussion how to remove NonWordCharacters.

With a little change this might solve your problem!

https://www.purebasic.fr/english/viewto ... ag#p604821

Re: Encoder für ungültige Zeichen im Dateinamen

Verfasst: 10.11.2024 16:39
von stevie1401
Danke! Thank you :)

Re: Encoder für ungültige Zeichen im Dateinamen

Verfasst: 10.11.2024 19:15
von TroaX
Ich würde eher Whitelisting als Blacklisting verwenden. Nutze eher eine Liste an Zeichen, die du erlauben willst und ersetze alle anderen. Das hat 2 Vorteile. Die Liste kannst du auch selbst erstellen. Zum zweiten kannst du damit sicher alles ausschließen. Auch die, an die du nicht gedacht hast.

Wenn der Dateinamen nur technischen Hintergrund hat, dann nutze ich persönlich immer ein Hash. Der ist immer gültig und von Menschenhand schwerer zuweisbar, was je nach Anwendung ggf. die Sicherheit erhöhen kann.

Re: Encoder für ungültige Zeichen im Dateinamen

Verfasst: 11.11.2024 09:47
von helpy
Alternativ eine eindeutige ID für jeden Benutzer erstellen und die ID als Dateiname verwenden.

... oder bei der ersten Vergabe des User-Namen grundsätzlich nur solche Zeichen zulassen, die auch für Dateinamen verwendet werden können.

Dann erspart man sich das codieren von Zeichen.

Re: Encoder für ungültige Zeichen im Dateinamen

Verfasst: 12.11.2024 08:42
von stevie1401
Lauter tolle Ideen! Danke!