import os, stringcodecs = {'cn': ('gb2312', 'gbk', 'gb18030', 'hz'),'tw': ('big5', 'cp950'),'hk': ('big5hkscs',),'jp': ('cp932', 'shift_jis', 'euc_jp', 'euc_jisx0213', 'shift_jisx0213','euc_jis_2004', 'shift_jis_2004'),'kr': ('cp949', 'euc_kr', 'johab'),'iso2022': ('iso2022_jp', 'iso2022_jp_1', 'iso2022_jp_2','iso2022_jp_2004', 'iso2022_jp_3', 'iso2022_jp_ext','iso2022_kr'),}TEMPLATE = string.Template("""\## $encoding.py: Python Unicode Codec for $ENCODING## Written by Hye-Shik Chang <perky@FreeBSD.org>#import _codecs_$owner, codecsimport _multibytecodec as mbccodec = _codecs_$owner.getcodec('$encoding')class Codec(codecs.Codec):encode = codec.encodedecode = codec.decodeclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,codecs.IncrementalEncoder):codec = codecclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,codecs.IncrementalDecoder):codec = codecclass StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):codec = codecclass StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):codec = codecdef getregentry():return codecs.CodecInfo(name='$encoding',encode=Codec().encode,decode=Codec().decode,incrementalencoder=IncrementalEncoder,incrementaldecoder=IncrementalDecoder,streamreader=StreamReader,streamwriter=StreamWriter,)""")def gencodecs(prefix):for loc, encodings in codecs.items():for enc in encodings:code = TEMPLATE.substitute(ENCODING=enc.upper(),encoding=enc.lower(),owner=loc)codecpath = os.path.join(prefix, enc + '.py')with open(codecpath, 'w') as f:f.write(code)if __name__ == '__main__':import sysgencodecs(sys.argv[1])
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。