Por que o símbolo de hash do Gedit é expandido e interpretado incorretamente em navegadores da Internet?

0

Copiei e colei Gedit-hash ( # ) em uma parte do caminho de arquivo do navegador da internet para ler o arquivo PDF sem sucesso: nenhum arquivo encontrado com o símbolo Gedit-hash. Entrando lá diretamente o símbolo de hash do teclado é considerado correto. Copiando e colando o gedit-hash no Vim mostra o Ascii 035 corretamente, também testado na ferramenta ASCII aqui . Exemplo de caminho de arquivo mal interpretado no navegador da Internet, onde # se expande para %23 erroneamente

/home/masi/Documents/Edition.pdf#page=605

Faça

  1. Copie o caminho do arquivo para o Gedit
  2. Copie o caminho de arquivo do Gedit
  3. Cole o caminho do arquivo em qualquer navegador de internet
  4. Saída: o símbolo # é expandido para %23

Métodos que inserem o caminho de arquivo que são corretamente interpretados

  • digite hash diretamente no campo do navegador da internet

OS: Debian 8.7
Navegadores da Internet: Google Chrome 58.0.x, o Firefox mais recente

    
por Léo Léopold Hertz 준영 13.06.2017 / 15:41

1 resposta

2

Os nomes dos arquivos UNIX não são URLs.

Você pode ver que "#" não é interpretado em nomes de arquivos Unix, mas está em URLs.

$ ls '/home/masi/Documents/Edition.pdf#page=605'
ls: cannot access '/home/masi/Documents/Edition.pdf#page=605': No such file or directory
$ curl '/home/masi/Documents/Edition.pdf#page=605'
curl: (3) <url> malformed
$ curl 'file:///home/masi/Documents/Edition.pdf#page=605'
curl: (37) Couldn't open file /home/masi/Documents/Edition.pdf

O Firefox está aplicando o escape correto, para proteger o caractere de nome de arquivo # de ser interpretado como delimitando um fragmento na URL.

    
por 13.06.2017 / 15:49