Quelle est la longueur maximale des caractères de nom de fichier des fichiers dans OS X?
De moindre importance est de savoir si certains caractères sont autorisés / interdits en plus de toute restriction de longueur globale.
Quelle est la longueur maximale des caractères de nom de fichier des fichiers dans OS X?
De moindre importance est de savoir si certains caractères sont autorisés / interdits en plus de toute restriction de longueur globale.
De la source de toute connaissance, la taille maximale du nom de fichier dans le système de fichiers HFS+ par défaut est de 255 unités d'encodage UTF-16, donc essentiellement 255 caractères. Techniquement, n'importe quel caractère Unicode peut être utilisé, mais cela peut être limité en pratique par l'application que vous utilisez - par exemple, le caractère /
est utilisé pour délimiter les répertoires dans les noms de chemin, donc il se peut que vous ne soyez pas autorisé à nommer un seul fichier stuff/things.txt
, car cela signifie "le fichier things.txt
dans le répertoire stuff
" pour le système d'exploitation. Il existe des moyens d'"échapper" aux caractères comme /
dans les noms de fichiers, mais pour un usage général, cela est déconseillé.
Ce qui est avec le /
n'est pas vrai (10.6 ici). Ce que vous ne pouvez pas utiliser est :
(ancien séparateur HFS), du moins dans le Finder. La chose drôle est que le /
est représenté comme :
au niveau de la coquille. Une autre limitation étrange est que la longueur du chemin est limitée à 1024 octets ou caractères UTF-8, pas sûr lequel. Cela n'est pas imposé par le Finder et peut entraîner un comportement étrange.
@PercivalUlysses Vous avez raison :
est interdit sur HFS et HFS+ mais la plupart des utilisateurs UNIX sont habitués à la substitution automatique de / pour : et vice versa et ne réalisent pas que le stockage interne de HFS utilise : pour séparer les répertoires des noms de fichiers.
@bmike Oui :) Savez-vous quelque chose de cette limite de 1024 caractères pour les chemins? Sur 10.6, ce comportement est documenté dans les fichiers d'en-tête du système, et il y a la variable PATH_MAX
. Est-ce toujours le cas sur les systèmes ultérieurs?
Oui - vous devriez conserver les noms de fichier à 255 caractères mais les chemins peuvent être plus longs mais pas aussi longs que le permettent certains autres unix.
Le système d'exploitation de bureau OS X prend en charge dix principaux systèmes de fichiers (HFS, HFS Plus, UFS, WebDAV, UDF, FAT, SMB/CIFS, AFP, NFS et FTP) avec plusieurs variantes de certains d'entre eux. Voir le tableau 1 de l'article de developer.apple.com ci-dessous pour plus de détails:
Le système de fichiers par défaut, HFS plus prend en charge des noms de fichiers de 255 unités de codage UTF-16 et le seul caractère réservé est :
qui est utilisé en interne pour indiquer un changement de répertoire par opposition à /
qui est normalement réservé pour signifier un changement de répertoire plutôt que de faire partie du nom du fichier. (ok - Je crois que 0x00, le caractère nul est également interdit dans HFS+)
Par convention, les logiciels doivent utiliser des identifiants de fichier et sont responsables d'allouer suffisamment d'espace pour contenir un chemin de fichier arbitrairement long s'ils n'utilisent pas l'API standard pour naviguer dans la structure du système de fichiers afin de localiser un nom de fichier de 255 caractères.
@StefanDragnev Avez-vous regardé comment ils apparaissent dans Finder? Il y a une substitution automatique (: est le séparateur de chemin, mais le côté Unix inverse : et / dans tous les chemins)
LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.
1 votes
En supposant le système de fichiers HFS+ ?