The more you understand about Unicode the more you understand how profoundly broken this is http://rot8000.com/Index
-
Show this thread
-
I actually ran into this exact problem once before. For the purposes of "SCP-3125" I wanted to make it so that readers couldn't just hit "View source" to see the hidden content of the page. At first I used a Vigenère cipher, which works fine on English text. But then, translation
1 reply 0 retweets 7 likesShow this thread -
Vigenère ciphers (of which Caeser ciphers such as ROT-13 are a special case) have no effect on Japanese text. So I needed to come up with something analogous which could be applied to all Unicode text
1 reply 0 retweets 8 likesShow this thread -
But you can't just naïvely rotate Unicode code points. That rotation can lead to unassigned code points, or invalid ones. What about combining characters? Normalization of the output can cause data corruption. So can whitespace flattening
1 reply 0 retweets 8 likesShow this thread -
In the end I used a dumb solution, which was to percent-encode the input and *then* apply the Vigenère cipher to the percent-encoded input. The result looks a little ridiculous, but it was definitely illegible and 100% reversible, which was the important part
1 reply 0 retweets 9 likesShow this thread -
And while I'm at it, can everybody *please* remember to NFD-normalize your strings prior to ROT-13. "Naïveté" should become "Anv̈irgŕ", not "Anïirgé". Otherwise, if the encoded text does get normalized in transit, it'll decode incorrectly to "Nav̈vetŕ"
2 replies 6 retweets 27 likesShow this thread -
-
Replying to @johnzabroski
quarantine 'em Retweeted quarantine 'em
quarantine 'em added,
1 reply 0 retweets 0 likes -
Replying to @qntm
But I just tested your example of Naïveté -> Anv̈irgŕ -> Naïveté and it translated it into Japanese characters. Guess I believe you but don't understand how this example demonstrates it is wrong.
1 reply 0 retweets 0 likes
That example was about ROT-13, not rot8000
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.