Debian
為什麼 Gedit 的雜湊符號在 Internet 瀏覽器中被錯誤地擴展和解釋?
我將文件路徑的一部分中的 Gedit-hash (
#
) 複製粘貼到 Internet 瀏覽器中以不成功地讀取 PDF 文件:找不到帶有 Gedit-hash 符號的文件。從鍵盤直接輸入雜湊符號被認為是正確的。將 gedit-hash 複製粘貼到 Vim 可以正確顯示 Ascii 035,也在此處的 ASCII 工具上進行了測試。Internet 瀏覽器中錯誤解釋的範例文件路徑,其中#
擴展為%23
錯誤/home/masi/Documents/Edition.pdf#page=605
做
- 將文件路徑複製到 Gedit
- 從 Gedit 複製文件路徑
- 將文件路徑粘貼到任何 Internet 瀏覽器
- 輸出:
#
符號擴展為%23
插入正確解釋的文件路徑的方法
- 直接在 Internet 瀏覽器欄位中鍵入 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 中分隔片段。