|laziness, impatience, and hubris|
Okay, thanks for the information.
But this line:
Won't that convert anything greater than or equal to a "space" (ascii 0x20) up to 0xfe? And why are you skipping 0xff?
And other than those things, isn't that really equivalent to what I was doing? Except that, it appears you are outputting ’ where I was outputting \, and are those in fact equivalent?
Update: I just realized I missed the fact that your regex has '^', so it negates those characters. That makes a lot more sense.
But I would still ask, isn't the functionality of this subroutine the same as my original (other than the extra 'x' in your output "#xNN;", which I still think is wrong), or am I missing something else?