Regarding reversing Unicode strings: This is simple, just render the string in a purposefully crafted mono-space font using distinct, non-overlapping bit patterns for glyphs (this will be a rather huge font, we may suggest a 0xFFFF x 0xFFFF matrix for glyphs to be on the safe side), slice the resulting bitmap image, detect and recompose. ;-)
I know next to nothing about unicode. If I took the bits and arranged them in reverse order would I be asked to leave the building? It didn't state the output should also be unicode.
(Obviously, this is a trick answer.)