Yeah, they're avoiding an output of 0x00. So it's not modulo-256, it's modulo-255 with an offset of 1. Unless you've got double-quote characters (and specifically double-quote characters, it doesn't do it for ampersand though you don't list one with a single-quote character), whereupon it does something weird. The fear of 0x00 and " is probably something to do with the HTML-entity-like encoding it ends up as.

Peter