Mercurial > repo
view bin/rot13 @ 12474:da2633e2f588 draft
<wib_jonas> slashlearn hand injuries//Hand injuries are surprisingly common among webcomic writers, see eg. http://questionablecontent.net/view.php?comic=2314 http://www.giantitp.com/comics/oots0864.html or https://www.irregularwebcomic.net/news.php?date=2020-05-27
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Mon, 27 Feb 2023 10:45:31 +0000 |
parents | 6412d84cf279 |
children |
line wrap: on
line source
#!/hackenv/bin/shebang_args_or_input python import re, sys, unicodedata as U def tr(c): m = re.match(r'(.*\bLATIN\b.*\bLETTER )([A-Z])\b(.*)', U.name(c, '')) if m: p, q, r = m.groups() n = ord(q) - ord('A') try: return U.lookup(p + chr(ord('A') + (n + 13) % 26) + r) except KeyError: return c return c def tr2(c): d = tr(c) if d != c: return d else: cs = [unichr(int(x, 16)) for x in U.decomposition(c).split()] ds = [tr(x) for x in cs] if cs != ds: return u''.join(ds) else: return c for c in unicode(sys.stdin.read(), 'utf8'): sys.stdout.write(tr2(c).encode('utf8'))