Results 2 comments of jywhy6

> 粗看了一眼最后那个过滤,貌似有点问题。不过滤会出什么问题吗?如果能输出文件,感觉还是不过滤比较好。 如果不过滤,XML解析会抛出异常,且无法通过设置reader属性解决,导致epub无法生成(文档是茶杯头的画集,里面有个控制字符0x1b)。 > 代码功能不是“过滤 xhtml 中的非 UTF-8 字符”,那些字符是合法的。按照帖子的说法是“移除 well-formed XML 中不合法的字符”。 提交描述我回家改一下。 > 这不是很合适,因为亚马逊上架检查对格式的要求不算特别严格,但是 .NET 的 XML 官方库严得要死。如果有这种字符,粗暴地过滤掉相当于改变了内容。应该考虑让它变得合法,比如写成转义的形式。 确实是改变了内容,所以会输出警告。我个人觉得改变内容比程序crash好一点。另外,KindleUnpack本身无此问题。

> 那么还是建议试着写成转义,比如这个控制字符写成``。感觉这样应该可以避免 XML 库报错。 > > 这种意外混进来的控制字符删了就删了,但如果删掉 emoji 之类的有意义字符,警告归警告,补救起来是很麻烦的。 搞定了,已修改 commit,已确认最后输出到 epub 的字符和 KindleUnpack 一致。