aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/src/Lib/encodings/gb18030.py
blob: de5919a804c613a864d62754793c8634ac7c9691 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 
# gb18030.py: Python Unicode Codec for GB18030 
# 
# Written by Hye-Shik Chang <perky@FreeBSD.org> 
# 
 
import _codecs_cn, codecs 
import _multibytecodec as mbc 
 
codec = _codecs_cn.getcodec('gb18030') 
 
class Codec(codecs.Codec): 
    encode = codec.encode 
    decode = codec.decode 
 
class IncrementalEncoder(mbc.MultibyteIncrementalEncoder, 
                         codecs.IncrementalEncoder): 
    codec = codec 
 
class IncrementalDecoder(mbc.MultibyteIncrementalDecoder, 
                         codecs.IncrementalDecoder): 
    codec = codec 
 
class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader): 
    codec = codec 
 
class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter): 
    codec = codec 
 
def getregentry(): 
    return codecs.CodecInfo( 
        name='gb18030', 
        encode=Codec().encode, 
        decode=Codec().decode, 
        incrementalencoder=IncrementalEncoder, 
        incrementaldecoder=IncrementalDecoder, 
        streamreader=StreamReader, 
        streamwriter=StreamWriter, 
    )