Originally Posted by Sergey Dubinets
My statement was: you can't unescape "just in case" (because no harm was done.)
If metadata has escaped strings we have to unescape them.
If it has none-escaped strings we shouldn't do this.
The problem we have in Mobiunpack is that there is no metadata in the mobipocket file to tell us whether the string has been escaped or not.
All we can do is pick the least bad option. Which, IMO, is to unescape the text. It is far, far more common that the text has been escaped than that the text is unescaped but with some apparently escaped entities.