blob: 3c3b837d618ecd262007eec7d3bd786209e91c06 [file] [log] [blame]
Olivier Deprezf4ef2d02021-04-20 13:36:24 +02001#
2# gb2312.py: Python Unicode Codec for GB2312
3#
4# Written by Hye-Shik Chang <perky@FreeBSD.org>
5#
6
7import _codecs_cn, codecs
8import _multibytecodec as mbc
9
10codec = _codecs_cn.getcodec('gb2312')
11
12class Codec(codecs.Codec):
13 encode = codec.encode
14 decode = codec.decode
15
16class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
17 codecs.IncrementalEncoder):
18 codec = codec
19
20class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
21 codecs.IncrementalDecoder):
22 codec = codec
23
24class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
25 codec = codec
26
27class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
28 codec = codec
29
30def getregentry():
31 return codecs.CodecInfo(
32 name='gb2312',
33 encode=Codec().encode,
34 decode=Codec().decode,
35 incrementalencoder=IncrementalEncoder,
36 incrementaldecoder=IncrementalDecoder,
37 streamreader=StreamReader,
38 streamwriter=StreamWriter,
39 )