Existe-t-il une liste de caractères non autorisés dans les noms de fichiers et les chemins d'accès sous OS X?
Existe-t-il une liste de caractères non autorisés dans les noms de fichiers et les chemins d'accès sous OS X?
Réponses:
?
est autorisée.
Seulement 0x00
( NUL
) et :
sont interdits pour HFS +.
:
cependant, dans les logiciels basés sur POSIX, /
:
Merci à Graham Lee qui m'a corrigé à ce sujet!
Comme Daniel Beck l'a dit, NUL et ":" (ou "/" dans les contextes POSIX) sont interdits; Cependant, c'est plus compliqué que ça. Les noms de fichiers HFS + doivent être stockés au format UTF-8, sous une forme entièrement décomposée, avec les caractères de composition stockés dans un ordre canonique (voir tn1150 ). Donc, la réponse à votre question dépend de ce que vous entendez par "personnage":
Si vous êtes intéressé par la séquence d'octets constituant les noms de fichiers, toute séquence non valide UTF-8 (ou pas correctement décomposée) est interdite.
Si vous entendez des points de code unicode, cette règle de décomposition interdit toujours tout point représentant un caractère accentué (il doit être stocké à la place en tant que lettre de base + combinaison d’accents) (voir tn1150table ).
Selon Wikipédia, http://en.wikipedia.org/wiki/HFS_Plus tout caractère unicode est autorisé, y compris NUL. Mais de nombreuses applications vont imposer leurs propres restrictions, telles que '/', etc.