flanker (./2783) :
Je viens de découvrir que les systèmes de fichiers linuxiens acceptaient n'importe quelle chaîne d'octets comme nom…
Pas tout à fait, le caractère nul '\0' et le slash '/' sont interdits.
Sans préciser le moindre encodage
C'est vrai, dans les années 70 on ne connaissait que l'ASCII, et ils n'ont pas pensé à regarder ce qui s'est fat autour d'eux entretemps.
Dans les installations GNU/Linux modernes, c'est de l'UTF-8, il n'y a que les logiciels obsolètes des années 1990 ou pire et qui n'ont toujours pas été corrigés qui essaient d'utiliser autre chose (et certains admins réfractaires qui configurent toujours leur système en locale non-UTF-8 pour la "compatibilité", ce qui est totalement déconseillé).
Accessoirement, chez Unicode, ils ont eu la bonne idée de représenter le même caractère sous différentes formes (genre le é qui peut être écrit indifféremment comme « è » ou comme « e + ` »).
Il me semble que la convention soit la NFC, après, c'est aux logiciels de la faire respecter ou non. (Je me doute bien qu'en général c'est non.)
Mais effectivement, le noyau ne force aucune convention particulière (même pas l'UTF-8). Pour GNU/Linux, c'est la responsabilité du userspace de gérer les codages, pas du noyau.