In case the author sees this, some comments about Rotator.cs.<p>1. This algorithm will break if the number of valid characters in the BMP becomes odd.<p>EDIT: As user platforms pointed out, there is an unit test for this.<p>2. There is an overflow in line 39 because of the check i <= BMP_SIZE in line 37.<p>3. The web server at rot8000.com exposes at least some errors with stack traces, try rotating the string <script>.<p>4. In line 42 you are performing a linear search for every character you transform, that is very inefficient, especially with characters at the end of the BMP. At least use a hash map or even better just use an array mapping the input code point directly to the output code point.<p>5. rot8000.com does at the very least allow rather long inputs which paired with the inefficiency of the linear search makes a DoS attack pretty easy. I tried a 10,000 word lorem ipsum, it was not rejected and the request took a minute to complete.