Почему хеш-символ Gedit расширен и интерпретируется неправильно в интернет-браузерах?

Я скопирую-вставку Gedit-hash ( # ) в часть пути к файлу в интернет-браузер, чтобы безупречно читать файл PDF: файл не найден с символом Gedit-hash. Ввод туда непосредственно символа хэша с клавиатуры исправляется. Копирование вставки gedit-hash в Vim показывает Ascii 035 правильно, также проверено здесь на инструменте ASCII. Пример filepath неверно интерпретируется в браузере Internet, где # разворачивается до %23 ошибочно

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

Делать

  1. Скопируйте путь к файлу Gedit
  2. Скопируйте путь к файлу Gedit
  3. Вставить путь к файлу в любой интернет-браузер
  4. Выход: # символ расширен до %23

Способы вставки пути к файлу, которые правильно интерпретируются

  • type hash непосредственно в поле интернет-браузера

ОС: Debian 8.7
Интернет-браузеры: Google Chrome 58.0.x, последние версии Firefox

Имена файлов UNIX не являются URL-адресами.

Вы можете видеть, что «#» не интерпретируется в именах файлов unix, но находится в URL-адресах.

 $ 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 

Firefox применяет правильное экранирование, чтобы защитить символ # файла от интерпретации как разграничение фрагмента в URL-адресе.