#! /opt/alt/python38/bin/python3.8 """ Python Character Mapping Codec for ROT13. This codec de/encodes from str to str. Written by Marc-Andre Lemburg (mal@lemburg.com). """ import codecs ### Codec APIs class Codec(codecs.Codec): def encode(self, input, errors='strict'): return (str.translate(input, rot13_map), len(input)) def decode(self, input, errors='strict'): return (str.translate(input, rot13_map), len(input)) class IncrementalEncoder(codecs.IncrementalEncoder): def encode(self, input, final=False): return str.translate(input, rot13_map) class IncrementalDecoder(codecs.IncrementalDecoder): def decode(self, input, final=False): return str.translate(input, rot13_map) class StreamWriter(Codec,codecs.StreamWriter): pass class StreamReader(Codec,codecs.StreamReader): pass ### encodings module API def getregentry(): return codecs.CodecInfo( name='rot-13', encode=Codec().encode, decode=Codec().decode, incrementalencoder=IncrementalEncoder, incrementaldecoder=IncrementalDecoder, streamwriter=StreamWriter, streamreader=StreamReader, _is_text_encoding=False, ) ### Map rot13_map = codecs.make_identity_dict(range(256)) rot13_map.update({ 0x0041: 0x004e, 0x0042: 0x004f, 0x0043: 0x0050, 0x0044: 0x0051, 0x0045: 0x0052, 0x0046: 0x0053, 0x0047: 0x0054, 0x0048: 0x0055, 0x0049: 0x0056, 0x004a: 0x0057, 0x004b: 0x0058, 0x004c: 0x0059, 0x004d: 0x005a, 0x004e: 0x0041, 0x004f: 0x0042, 0x0050: 0x0043, 0x0051: 0x0044, 0x0052: 0x0045, 0x0053: 0x0046, 0x0054: 0x0047, 0x0055: 0x0048, 0x0056: 0x0049, 0x0057: 0x004a, 0x0058: 0x004b, 0x0059: 0x004c, 0x005a: 0x004d, 0x0061: 0x006e, 0x0062: 0x006f, 0x0063: 0x0070, 0x0064: 0x0071, 0x0065: 0x0072, 0x0066: 0x0073, 0x0067: 0x0074, 0x0068: 0x0075, 0x0069: 0x0076, 0x006a: 0x0077, 0x006b: 0x0078, 0x006c: 0x0079, 0x006d: 0x007a, 0x006e: 0x0061, 0x006f: 0x0062, 0x0070: 0x0063, 0x0071: 0x0064, 0x0072: 0x0065, 0x0073: 0x0066, 0x0074: 0x0067, 0x0075: 0x0068, 0x0076: 0x0069, 0x0077: 0x006a, 0x0078: 0x006b, 0x0079: 0x006c, 0x007a: 0x006d, }) ### Filter API def rot13(infile, outfile): outfile.write(codecs.encode(infile.read(), 'rot-13')) if __name__ == '__main__': import sys rot13(sys.stdin, sys.stdout)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 5.46 KB | 0644 |
|
aliases.py | File | 15.33 KB | 0644 |
|
ascii.py | File | 1.22 KB | 0644 |
|
base64_codec.py | File | 1.5 KB | 0644 |
|
big5.py | File | 1019 B | 0644 |
|
big5hkscs.py | File | 1.01 KB | 0644 |
|
bz2_codec.py | File | 2.2 KB | 0644 |
|
charmap.py | File | 2.04 KB | 0644 |
|
cp037.py | File | 12.81 KB | 0644 |
|
cp1006.py | File | 13.25 KB | 0644 |
|
cp1026.py | File | 12.81 KB | 0644 |
|
cp1125.py | File | 33.79 KB | 0644 |
|
cp1140.py | File | 12.8 KB | 0644 |
|
cp1250.py | File | 13.37 KB | 0644 |
|
cp1251.py | File | 13.05 KB | 0644 |
|
cp1252.py | File | 13.19 KB | 0644 |
|
cp1253.py | File | 12.79 KB | 0644 |
|
cp1254.py | File | 13.19 KB | 0644 |
|
cp1255.py | File | 12.17 KB | 0644 |
|
cp1256.py | File | 12.51 KB | 0644 |
|
cp1257.py | File | 13.06 KB | 0644 |
|
cp1258.py | File | 13.05 KB | 0644 |
|
cp273.py | File | 13.8 KB | 0644 |
|
cp424.py | File | 11.77 KB | 0644 |
|
cp437.py | File | 33.75 KB | 0644 |
|
cp500.py | File | 12.81 KB | 0644 |
|
cp720.py | File | 13.37 KB | 0644 |
|
cp737.py | File | 33.87 KB | 0644 |
|
cp775.py | File | 33.67 KB | 0644 |
|
cp850.py | File | 33.31 KB | 0644 |
|
cp852.py | File | 34.18 KB | 0644 |
|
cp855.py | File | 33.06 KB | 0644 |
|
cp856.py | File | 12.13 KB | 0644 |
|
cp857.py | File | 33.11 KB | 0644 |
|
cp858.py | File | 33.22 KB | 0644 |
|
cp860.py | File | 33.87 KB | 0644 |
|
cp861.py | File | 33.82 KB | 0644 |
|
cp862.py | File | 32.59 KB | 0644 |
|
cp863.py | File | 33.45 KB | 0644 |
|
cp864.py | File | 32.87 KB | 0644 |
|
cp865.py | File | 33.81 KB | 0644 |
|
cp866.py | File | 33.59 KB | 0644 |
|
cp869.py | File | 32.19 KB | 0644 |
|
cp874.py | File | 12.3 KB | 0644 |
|
cp875.py | File | 12.55 KB | 0644 |
|
cp932.py | File | 1023 B | 0644 |
|
cp949.py | File | 1023 B | 0644 |
|
cp950.py | File | 1023 B | 0644 |
|
euc_jis_2004.py | File | 1.03 KB | 0644 |
|
euc_jisx0213.py | File | 1.03 KB | 0644 |
|
euc_jp.py | File | 1 KB | 0644 |
|
euc_kr.py | File | 1 KB | 0644 |
|
gb18030.py | File | 1.01 KB | 0644 |
|
gb2312.py | File | 1 KB | 0644 |
|
gbk.py | File | 1015 B | 0644 |
|
hex_codec.py | File | 1.47 KB | 0644 |
|
hp_roman8.py | File | 13.16 KB | 0644 |
|
hz.py | File | 1011 B | 0644 |
|
idna.py | File | 8.96 KB | 0644 |
|
iso2022_jp.py | File | 1.03 KB | 0644 |
|
iso2022_jp_1.py | File | 1.04 KB | 0644 |
|
iso2022_jp_2.py | File | 1.04 KB | 0644 |
|
iso2022_jp_2004.py | File | 1.05 KB | 0644 |
|
iso2022_jp_3.py | File | 1.04 KB | 0644 |
|
iso2022_jp_ext.py | File | 1.04 KB | 0644 |
|
iso2022_kr.py | File | 1.03 KB | 0644 |
|
iso8859_1.py | File | 12.87 KB | 0644 |
|
iso8859_10.py | File | 13.27 KB | 0644 |
|
iso8859_11.py | File | 12.05 KB | 0644 |
|
iso8859_13.py | File | 12.96 KB | 0644 |
|
iso8859_14.py | File | 13.33 KB | 0644 |
|
iso8859_15.py | File | 12.9 KB | 0644 |
|
iso8859_16.py | File | 13.24 KB | 0644 |
|
iso8859_2.py | File | 13.09 KB | 0644 |
|
iso8859_3.py | File | 12.78 KB | 0644 |
|
iso8859_4.py | File | 13.06 KB | 0644 |
|
iso8859_5.py | File | 12.71 KB | 0644 |
|
iso8859_6.py | File | 10.58 KB | 0644 |
|
iso8859_7.py | File | 12.54 KB | 0644 |
|
iso8859_8.py | File | 10.78 KB | 0644 |
|
iso8859_9.py | File | 12.85 KB | 0644 |
|
johab.py | File | 1023 B | 0644 |
|
koi8_r.py | File | 13.46 KB | 0644 |
|
koi8_t.py | File | 12.88 KB | 0644 |
|
koi8_u.py | File | 13.44 KB | 0644 |
|
kz1048.py | File | 13.4 KB | 0644 |
|
latin_1.py | File | 1.23 KB | 0644 |
|
mac_arabic.py | File | 35.61 KB | 0644 |
|
mac_centeuro.py | File | 13.77 KB | 0644 |
|
mac_croatian.py | File | 13.31 KB | 0644 |
|
mac_cyrillic.py | File | 13.14 KB | 0644 |
|
mac_farsi.py | File | 14.81 KB | 0644 |
|
mac_greek.py | File | 13.4 KB | 0644 |
|
mac_iceland.py | File | 13.18 KB | 0644 |
|
mac_latin2.py | File | 13.79 KB | 0644 |
|
mac_roman.py | File | 13.16 KB | 0644 |
|
mac_romanian.py | File | 13.34 KB | 0644 |
|
mac_turkish.py | File | 13.2 KB | 0644 |
|
mbcs.py | File | 1.18 KB | 0644 |
|
oem.py | File | 1019 B | 0644 |
|
palmos.py | File | 13.2 KB | 0644 |
|
ptcp154.py | File | 13.69 KB | 0644 |
|
punycode.py | File | 6.72 KB | 0644 |
|
quopri_codec.py | File | 1.49 KB | 0644 |
|
raw_unicode_escape.py | File | 1.18 KB | 0644 |
|
rot_13.py | File | 2.4 KB | 0755 |
|
shift_jis.py | File | 1.01 KB | 0644 |
|
shift_jis_2004.py | File | 1.03 KB | 0644 |
|
shift_jisx0213.py | File | 1.03 KB | 0644 |
|
tis_620.py | File | 12.01 KB | 0644 |
|
undefined.py | File | 1.27 KB | 0644 |
|
unicode_escape.py | File | 1.16 KB | 0644 |
|
utf_16.py | File | 5.11 KB | 0644 |
|
utf_16_be.py | File | 1.01 KB | 0644 |
|
utf_16_le.py | File | 1.01 KB | 0644 |
|
utf_32.py | File | 5.01 KB | 0644 |
|
utf_32_be.py | File | 930 B | 0644 |
|
utf_32_le.py | File | 930 B | 0644 |
|
utf_7.py | File | 946 B | 0644 |
|
utf_8.py | File | 1005 B | 0644 |
|
utf_8_sig.py | File | 4.04 KB | 0644 |
|
uu_codec.py | File | 2.78 KB | 0644 |
|
zlib_codec.py | File | 2.15 KB | 0644 |
|