當處理EPUB文件,我碰到這個問題,在一些epub電子書的XHTML文件的路徑寫入編碼的content.opf URL。
例如,路徑「abcá.xhtml」作爲href="abc%C3%A1.xhtml"
被寫入content.opf(%C3%A1是字符'á'的url編碼表示形式)。content.opf中的路徑是否由標準URL編碼?
我無法在任何地方找到任何有關此信息。這是EPUB標準嗎?有問題的EPUB文件是使用Adobe InDesign生成的。
更新:我測試了EPUB與口徑電子圖書閱讀器,結果如下:
- 在文件名中特殊字符,在content.opf(URL編碼的路徑abcá.xhtml和
href="abc%C3%A1.xhtml"
):Calibre打開epub沒有問題。 - 文件名中的特殊字符,特殊字符直接寫入到帶有UTF-8(abcá.xhtml和
href="abcá.xhtml"
)的content.opf中的路徑中:Calibre打開epub並沒有問題。 - 文件名包含恰好可以進行URL解碼的字符串,並將相同的字符串寫入content.opf(abc%C3%A1.xhtml和
href="abc%C3%A1.xhtml"
):Calibre無法打開epub並顯示錯誤消息。
所以我想這口徑URL解碼嘗試打開這些文件,這可能會導致奇怪的邊緣情況下,像最後一個之前在content.opf每一條路徑。
但是,這似乎是一個相當罕見的情況,所以我認爲我將通過URL解碼它們來以相同的方式處理路徑。
我猜測 - 沒有測試 - 網址編碼具有不同讀者的可變支持。 – Freney
感謝您的確切信息,我測試了Calibre電子書閱讀器的行爲並更新了我的問題和結果。 –