Warum sollte ein Dateiname ausschließlich ASCII-Zeichen enthalten? Für uns Deutschsprachige kämen noch Umlaute und ß in Betracht. Eine Koreanerin möchte ihre Datei in Hangeul benennen: „스타트렉.jsonld“. Und wenn jemand „🚀.jsonld“ möchte – warum nicht?
Weil es nachweislich immer noch Systeme / NAS gibt, die damit nicht klarkommen.
Dafür haben wir ja Unicode und Betriebssysteme, die damit umgehen können.
Ja, diese Systeme (genauer gesagt Dateisysteme) gibt es. Aber verlassen kannst Du dich darauf nicht. Wenn Du dann mit blinder Gutgläubigkeit daher kommst, stehst Du als Softwaredienstleiter schnell vor einem Dilemma: Kunde andissen mit "Dein NAS ist scheiße, kauf Dir was Vernünftiges" oder einfach mit den Realitäten leben.
Ich präferiere Letzteres. Ob und wie weit ein Dateisystem mit Codierungen von Dateinamen klarkommt, ist nicht kriegsentscheidend. Metainformationen (Titel, Beschreibung, Autor) kriege ich eh nicht sinnvoll in den Dateinamen gepackt. Also brauche ich einen zusätzlich anderen Ort der Datenhaltung, wie z.B. eine Datenbank. Die muss Deine genannten Kriterien anno 2022 dann natürlich erfüllen.
Der Tradeoff "Dateinamen enthalten nicht das komplette Unicode-Spektrum" ist da m.E. absolut akzeptabel.
Die Beschränkung auf ASCII-Zeichen klingt wie aus dem vorigen Jahrtausend. Internationalisierung geht anders.
Große Worte, schön und toll. Realität geht anders.