3 votos

¿Por qué funciona la barra invertida para nombres de archivo o carpeta, pero el signo de interrogación menos?

Creé un archivo HTML con este nombre en Sierra 10.12.6: test\55.html y apareció en la barra de direcciones de Firefox como:

Users/MYNAME/Desktop/test\55.html

Luego hice una copia como test?\55.html y se mostró en el navegador como:

Users/MYNAME/Desktop/test%3F\55.html

Si se trata de nombrar archivos, ¿por qué parece funcionar la barra invertida? Sé que la barra inclinada hacia adelante (/) no funciona y se muestra como :: en Finder, pero ¿por qué funcionan la barra invertida y el signo de interrogación en Finder y se deben evitar en los nombres de archivo?

Estoy en HFS, no en APFS, ¿esto tiene relación con ello, y en Mojave, los problemas relacionados con esto no existirían?

Si alguien puede responder, estaría agradecido; he hecho algunas investigaciones básicas pero no estoy completamente seguro.

0 votos

¿Con "navegador" te refieres al buscador o a un navegador web?

4voto

Douglas Puntos 10417

Caracteres a evitar en los nombres de archivos

No deberías estar utilizando barras inclinadas o signos de interrogación en tus nombres de archivo. Esto puede causar problemas dependiendo del sistema operativo/sistema de archivos que se esté utilizando.

Ya hay una excelente respuesta en SuperUser ¿Qué caracteres son seguros en nombres de archivos multiplataforma para Linux, Windows y OS-X abordando esto, pero para resumir:

  • las barras inclinadas se utilizan para separar valores en la ruta en sistemas operativos *nix
  • las barras invertidas se utilizan para escapar espacios en los nombres de archivo en sistemas operativos *nix y como separadores de ruta en Windows.
  • Windows no tolera \/:*?"<>| en rutas o nombres de archivo.

En cuanto al "doble dos puntos" (::) esto es una convención utilizada por Finder para representar el directorio principal. El simple dos puntos es un separador de ruta.

Signos de interrogación (y otros caracteres) en las URLs

No es una buena idea. En primer lugar, los usuarios de Windows (en realidad los navegadores) van a tener problemas con el archivo con el signo de interrogación. En segundo lugar, el signo de interrogación indica una cadena de consulta en PHP, lo que significa que estás enviando al lenguaje PHP una consulta o un comando para ejecutar.

Por ejemplo, echa un vistazo a esta URL:

https://www.bing.com/search?form=MOZLBR&pc=MOZI&q=php+url+question+mark

Poner un signo de interrogación arbitrario en el nombre de archivo de la URL definitivamente complicará las cosas.

Además, no estás "escapando" caracteres en la URL con el signo de porcentaje - se llama "Codificación de Porcentaje o Codificación de URL." Esto te permite utilizar caracteres especiales o reservados (como un espacio) en el URI y que funcione correctamente.

3voto

Jose Chavez Puntos 645

Esto no tiene nada que ver con HFS, APFS o macOS Mojave realmente. Es simplemente la forma en que funcionan las URL en cualquier navegador.

Las URLs pueden tener un componente de consulta opcional que se marca con un solo signo de interrogación (?). Lo que viene después del signo de interrogación es la parte de consulta de la URL.

Como su nombre de archivo no es la consulta, sino más bien el nombre real del archivo, el signo de interrogación en el nombre de archivo necesita ser "escapado" (es decir, traducido) para transmitir el nombre completo sin que el navegador piense que es el componente de consulta de la URL.

Los escapes en las URLs comienzan con un signo de porcentaje (%) y luego el código de caracteres en hexadecimal para el carácter a escapar - en este caso 3F que es el signo de interrogación. Esto también se conoce como "porcentaje de codificación".

La razón por la que se llama "escapar" es que estás "saliendo" del significado normal que los caracteres siguientes al carácter de escape (%) de otro modo hubieran tenido. En este caso, el nombre de su archivo no contiene las letras 3 o F, tienen un significado diferente debido al carácter de escape %. Las RFCs 1738 y 2396 (URL "estándares") llaman explícitamente a eso escapar, mientras que la nueva RFC 3986 usa el término "codificación de porcentaje" para distinguir esta forma particular de escapar de otras.

En cuanto al carácter de barra invertida, hoy en día no tiene un significado especial en una URL, por lo que se trata como cualquier otro carácter. En macOS tampoco tiene un significado especial (mientras que la barra inclinada se usa como separador de directorios en algunos casos).

Tenga en cuenta que antes de 2005, se recomendaba que el carácter de barra invertida se escapara en las URL, pero eso ya no es necesario. Es posible que vea algún software (más antiguo) hacer eso con URLs. La versión escapada y no escapada tiene el mismo significado, por lo que no hace ninguna diferencia práctica.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X