Current Dir: /snap/core22/2955/usr/lib/python3.10/encodings/
[DIR] __pycache__ [ delete | rename ]
[FILE] aliases.py [ edit | delete | rename ]
[FILE] ascii.py [ edit | delete | rename ]
[FILE] base64_codec.py [ edit | delete | rename ]
[FILE] big5.py [ edit | delete | rename ]
[FILE] big5hkscs.py [ edit | delete | rename ]
[FILE] bz2_codec.py [ edit | delete | rename ]
[FILE] charmap.py [ edit | delete | rename ]
[FILE] cp037.py [ edit | delete | rename ]
[FILE] cp273.py [ edit | delete | rename ]
[FILE] cp424.py [ edit | delete | rename ]
[FILE] cp437.py [ edit | delete | rename ]
[FILE] cp500.py [ edit | delete | rename ]
[FILE] cp720.py [ edit | delete | rename ]
[FILE] cp737.py [ edit | delete | rename ]
[FILE] cp775.py [ edit | delete | rename ]
[FILE] cp850.py [ edit | delete | rename ]
[FILE] cp852.py [ edit | delete | rename ]
[FILE] cp855.py [ edit | delete | rename ]
[FILE] cp856.py [ edit | delete | rename ]
[FILE] cp857.py [ edit | delete | rename ]
[FILE] cp858.py [ edit | delete | rename ]
[FILE] cp860.py [ edit | delete | rename ]
[FILE] cp861.py [ edit | delete | rename ]
[FILE] cp862.py [ edit | delete | rename ]
[FILE] cp863.py [ edit | delete | rename ]
[FILE] cp864.py [ edit | delete | rename ]
[FILE] cp865.py [ edit | delete | rename ]
[FILE] cp866.py [ edit | delete | rename ]
[FILE] cp869.py [ edit | delete | rename ]
[FILE] cp874.py [ edit | delete | rename ]
[FILE] cp875.py [ edit | delete | rename ]
[FILE] cp932.py [ edit | delete | rename ]
[FILE] cp949.py [ edit | delete | rename ]
[FILE] cp950.py [ edit | delete | rename ]
[FILE] cp1006.py [ edit | delete | rename ]
[FILE] cp1026.py [ edit | delete | rename ]
[FILE] cp1125.py [ edit | delete | rename ]
[FILE] cp1140.py [ edit | delete | rename ]
[FILE] cp1250.py [ edit | delete | rename ]
[FILE] cp1251.py [ edit | delete | rename ]
[FILE] cp1252.py [ edit | delete | rename ]
[FILE] cp1253.py [ edit | delete | rename ]
[FILE] cp1254.py [ edit | delete | rename ]
[FILE] cp1255.py [ edit | delete | rename ]
[FILE] cp1256.py [ edit | delete | rename ]
[FILE] cp1257.py [ edit | delete | rename ]
[FILE] cp1258.py [ edit | delete | rename ]
[FILE] euc_jisx0213.py [ edit | delete | rename ]
[FILE] euc_jis_2004.py [ edit | delete | rename ]
[FILE] euc_jp.py [ edit | delete | rename ]
[FILE] euc_kr.py [ edit | delete | rename ]
[FILE] gb2312.py [ edit | delete | rename ]
[FILE] gb18030.py [ edit | delete | rename ]
[FILE] gbk.py [ edit | delete | rename ]
[FILE] hex_codec.py [ edit | delete | rename ]
[FILE] hp_roman8.py [ edit | delete | rename ]
[FILE] hz.py [ edit | delete | rename ]
[FILE] idna.py [ edit | delete | rename ]
[FILE] iso2022_jp.py [ edit | delete | rename ]
[FILE] iso2022_jp_1.py [ edit | delete | rename ]
[FILE] iso2022_jp_2.py [ edit | delete | rename ]
[FILE] iso2022_jp_3.py [ edit | delete | rename ]
[FILE] iso2022_jp_2004.py [ edit | delete | rename ]
[FILE] iso2022_jp_ext.py [ edit | delete | rename ]
[FILE] iso2022_kr.py [ edit | delete | rename ]
[FILE] iso8859_1.py [ edit | delete | rename ]
[FILE] iso8859_2.py [ edit | delete | rename ]
[FILE] iso8859_3.py [ edit | delete | rename ]
[FILE] iso8859_4.py [ edit | delete | rename ]
[FILE] iso8859_5.py [ edit | delete | rename ]
[FILE] iso8859_6.py [ edit | delete | rename ]
[FILE] iso8859_7.py [ edit | delete | rename ]
[FILE] iso8859_8.py [ edit | delete | rename ]
[FILE] iso8859_9.py [ edit | delete | rename ]
[FILE] iso8859_10.py [ edit | delete | rename ]
[FILE] iso8859_11.py [ edit | delete | rename ]
[FILE] iso8859_13.py [ edit | delete | rename ]
[FILE] iso8859_14.py [ edit | delete | rename ]
[FILE] iso8859_15.py [ edit | delete | rename ]
[FILE] iso8859_16.py [ edit | delete | rename ]
[FILE] johab.py [ edit | delete | rename ]
[FILE] koi8_r.py [ edit | delete | rename ]
[FILE] koi8_t.py [ edit | delete | rename ]
[FILE] koi8_u.py [ edit | delete | rename ]
[FILE] kz1048.py [ edit | delete | rename ]
[FILE] latin_1.py [ edit | delete | rename ]
[FILE] mac_arabic.py [ edit | delete | rename ]
[FILE] mac_croatian.py [ edit | delete | rename ]
[FILE] mac_cyrillic.py [ edit | delete | rename ]
[FILE] mac_farsi.py [ edit | delete | rename ]
[FILE] mac_greek.py [ edit | delete | rename ]
[FILE] mac_iceland.py [ edit | delete | rename ]
[FILE] mac_latin2.py [ edit | delete | rename ]
[FILE] mac_roman.py [ edit | delete | rename ]
[FILE] mac_romanian.py [ edit | delete | rename ]
[FILE] mac_turkish.py [ edit | delete | rename ]
[FILE] mbcs.py [ edit | delete | rename ]
[FILE] oem.py [ edit | delete | rename ]
[FILE] palmos.py [ edit | delete | rename ]
[FILE] ptcp154.py [ edit | delete | rename ]
[FILE] punycode.py [ edit | delete | rename ]
[FILE] quopri_codec.py [ edit | delete | rename ]
[FILE] raw_unicode_escape.py [ edit | delete | rename ]
[FILE] rot_13.py [ edit | delete | rename ]
[FILE] shift_jis.py [ edit | delete | rename ]
[FILE] shift_jisx0213.py [ edit | delete | rename ]
[FILE] shift_jis_2004.py [ edit | delete | rename ]
[FILE] tis_620.py [ edit | delete | rename ]
[FILE] undefined.py [ edit | delete | rename ]
[FILE] unicode_escape.py [ edit | delete | rename ]
[FILE] utf_7.py [ edit | delete | rename ]
[FILE] utf_8.py [ edit | delete | rename ]
[FILE] utf_8_sig.py [ edit | delete | rename ]
[FILE] utf_16.py [ edit | delete | rename ]
[FILE] utf_16_be.py [ edit | delete | rename ]
[FILE] utf_16_le.py [ edit | delete | rename ]
[FILE] utf_32.py [ edit | delete | rename ]
[FILE] utf_32_be.py [ edit | delete | rename ]
[FILE] utf_32_le.py [ edit | delete | rename ]
[FILE] uu_codec.py [ edit | delete | rename ]
[FILE] zlib_codec.py [ edit | delete | rename ]
[FILE] __init__.py [ edit | delete | rename ]
Viewing: /snap/core22/2955/usr/lib/python3.10/encodings/rot_13.py
#! /usr/bin/python3.10
""" 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)