Oddbean new post about | logout
 Basierend auf https://stackoverflow.com/questions/1301402/example-invalid-utf8-string und gegeben dieses C-Programm "invalid-utf8.c".

Was passiert, wenn ich das starte?

Es ist Dateisystem-abhängig.

Die POSIX-API verlangt, daß Dateinamen kein \0 und kein \/\ enthalten können, aber einige Dateisysteme verlangen utf8.

Einige Programmiersprachen verlangen 'strings' in 'open' und erlauben keine 'bytes'. 'strings', die kein valides utf8 enthalten können nicht erzeugt werden.

https://assets.chaos.social/media_attachments/files/111/062/191/018/267/445/original/3312e4a5114a06d5.png

https://assets.chaos.social/media_attachments/files/111/062/195/560/385/923/original/269b5decfc9f75a1.png

https://assets.chaos.social/media_attachments/files/111/062/198/842/359/404/original/13cdba4aeb56e05b.png

https://assets.chaos.social/media_attachments/files/111/062/206/817/138/648/original/b6772e9bcab78ba4.png 
 Zur Ehrenrettung von Python sei gesagt, daß es im "print()" explodiert und nicht im "getnames()".

Das ist schon mal was.

https://assets.chaos.social/media_attachments/files/111/062/228/714/503/149/original/ec80d3f5f41cb942.png 
 @87c98d39 Weißt du zufällig, ob man ext4 irgendwie so konfigurieren kann, dass es nur UTF-8 in Dateinamen zulässt?