为什么文件名(以及路径名)里含 # 字符的 CHM 文件会不能正常打开?

在很多地方看到这么个情况:有人下载了个名称为诸如 C#BOOK.CHM 的文件,然后解除锁定,可是依然不能正常打开,而其它 CHM 文件则又是可正常打开的,于是推断该文件是坏的。

倘若该文件不是坏的,那么原因很简单:文件名(以及路径名)里含 # 字符。

CHM 文件实质上是对一堆文件的一个打包。打开的每一页都对应着一个 HTML 文件,其内部地址与该 CHM 路径名可复合成一个URL,比如:
C:\folder\filename.chm::/xxx/yyy.html

在 IE 地址栏输入方案 its 和 URL,比如:
its:C:\folder\filename.chm::/xxx/yyy.html

回车即可直接打开 CHM 文件中的某一页。

倘若路径名里含 # 字符,则 # 后的字符串被理解为锚,而 # 前的字符串则不足以构成有效地址,这就是不能正常打开的原因。

倘若路径名里非要含有 # 字符不可,比如:
C:\folder#1\filename.chm

这在 IE 里倒是可以解决的。把 # 都替换为 %23 即可,比如:
C:\folder%231\filename.chm

但不适用于 Windows 自带的 CHM 工具,即 hh.exe。

换一个工具,或是改名。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值