You could go one step further and encode your book text this way. If you can think of 16 scary nuke terms (maybe dropping into racial slurs or extreme sex acts if you run out), you have a simple way to encode each nibble for a probably ~20:1 size inflation. If you're serving this via HTTP, you can probably configure the web server to auto-gzip the result which will undo most of this bloat!
You could go one step further and encode your book text this way. If you can think of 16 scary nuke terms (maybe dropping into racial slurs or extreme sex acts if you run out), you have a simple way to encode each nibble for a probably ~20:1 size inflation. If you're serving this via HTTP, you can probably configure the web server to auto-gzip the result which will undo most of this bloat!