¿OS X impone una longitud máxima de archivo o una restricción de caracteres?

5

¿Cuál es la longitud máxima de caracteres de los archivos en OS X?

De importancia secundaria es si algunos caracteres están permitidos o no, además de las restricciones de longitud general.

    
pregunta Chauncey Garrett 24.03.2013 - 20:55

2 respuestas

10

De la fuente de todos los conocimientos , el tamaño máximo del nombre de archivo en el sistema de archivos HFS + predeterminado es 255 UTF-16 unidades de codificación, por lo que básicamente 255 caracteres. Técnicamente, se puede usar cualquier carácter Unicode, pero esto puede estar prácticamente limitado por la aplicación que está utilizando; por ejemplo, el carácter / se usa para delimitar directorios en las rutas de acceso, por lo que no se le puede permitir nombrar un solo archivo stuff/things.txt , ya que esto significa "el archivo things.txt en el directorio stuff " en el sistema operativo. Hay formas de "escapar" de caracteres como / en los nombres de archivo, pero para uso general no se recomienda.

    
respondido por el MattDMo 24.03.2013 - 22:05
3

Sí: debes mantener los nombres de los archivos con 255 caracteres, pero las rutas pueden ser más largas, pero no tanto como lo permitan otros Unix.

El OS X de escritorio admite diez sistemas de archivos principales (HFS, HFS Plus, UFS, WebDAV, UDF, FAT, SMB / CIFS, AFP, NFS y FTP) con varias variantes de algunos de estos. Consulte la tabla 1 en el artículo developer.apple.com a continuación para obtener detalles:

El sistema de archivos predeterminado del sistema, HFS plus admite nombres de archivo de 255 unidades de codificación UTF-16 y el único carácter reservado es : que se usa internamente para denotar un cambio de directorio en lugar de / que normalmente está reservado para indicar un cambio de directorio en lugar de pertenecer al nombre del archivo. (ok, creo que 0x00, el carácter nulo también está prohibido en HFS +)

Por convención, el software debe usar identificadores de archivos y es responsable de asignar suficiente espacio para contener una ruta de archivo arbitrariamente larga si no utiliza la API estándar para navegar por la estructura del sistema de archivos para localizar un nombre de archivo de 255 longitudes.

    
respondido por el bmike 24.03.2013 - 22:10

Lea otras preguntas en las etiquetas