""" Python 'utf-16' Codec
Written by Marc-Andre Lemburg (mal@lemburg.com).
(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
encode
= codecs
.utf_16_encode
def decode(input, errors
='strict'):
return codecs
.utf_16_decode(input, errors
, True)
class StreamWriter(codecs
.StreamWriter
):
def __init__(self
, stream
, errors
='strict'):
codecs
.StreamWriter
.__init
__(self
, stream
, errors
)
def encode(self
, input, errors
='strict'):
result
= codecs
.utf_16_encode(input, errors
)
if sys
.byteorder
== 'little':
self
.encode
= codecs
.utf_16_le_encode
self
.encode
= codecs
.utf_16_be_encode
class StreamReader(codecs
.StreamReader
):
codecs
.StreamReader
.reset(self
)
def decode(self
, input, errors
='strict'):
(object, consumed
, byteorder
) = \
codecs
.utf_16_ex_decode(input, errors
, 0, False)
self
.decode
= codecs
.utf_16_le_decode
self
.decode
= codecs
.utf_16_be_decode
raise UnicodeError,"UTF-16 stream does not start with BOM"
return (object, consumed
)
return (encode
,decode
,StreamReader
,StreamWriter
)