e% S r SSKrSS jrSS jr " S S\R 5 r " S S\R
5 r " S S
\R 5 r " S S\R 5 rS
r g)a Python 'utf-8-sig' Codec
This work similar to UTF-8 with the following changes:
* On encoding/writing a UTF-8 encoded BOM will be prepended/written as the
first three bytes.
* On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these
bytes will be skipped.
Nc l [ R [ R " X5 S - [ U 5 4$ Nr )codecsBOM_UTF8utf_8_encodelen)inputerrorss 9/opt/imh/python3.13/lib/python3.13/encodings/utf_8_sig.pyencoder s/ OOf11%@CCJ c SnU S S [ R :X a U SS n Sn[ R " XS5 u p4X4U- 4$ )Nr T)r r utf_8_decode)r r
prefixoutputconsumeds r decoder sK
FRayFOO#ab ,,UDAVVO$$r
c : \ rS rSrS S jrS
S jrS rS rS rSr g)IncrementalEncoder c P [ R R X5 SU l g N )r r __init__firstselfr
s r r IncrementalEncoder.__init__ s !!**48
r
c U R ( a; SU l [ R [ R " XR 5 S - $ [ R " XR 5 S $ r )r r r r r
)r r finals r r IncrementalEncoder.encode sT ::DJ??&&ukk:1=>
> &&ukk:1==r
c P [ R R U 5 SU l g r )r r resetr r s r r$ IncrementalEncoder.reset' s !!''-
r
c U R $ Nr r% s r getstateIncrementalEncoder.getstate+ s zzr
c Xl g r( r) r states r setstateIncrementalEncoder.setstate. s
r
r) Nstrict)F)
__name__
__module____qualname____firstlineno__r r r$ r* r/ __static_attributes__ r
r r r s >r
r c 6 \ rS rSrS S jrS rS rS rS rSr g)
IncrementalDecoder1 c P [ R R X5 SU l g r )r BufferedIncrementalDecoderr r r s r r IncrementalDecoder.__init__2 s ))224@
r
c J U R ( a| [ U5 S: a- [ R R U5 ( a gSU l O@SU l US S [ R :X a" [ R
" USS X#5 u pEXES- 4$ [ R
" XU5 $ )Nr r r )r r r r
startswithr )r r r
r! r r s r _buffer_decode!IncrementalDecoder._buffer_decode6 s ::5zA~??--e44 #!"DJ
!9/**59fD 'V"QJ//""5%88r
c P [ R R U 5 SU l g r )r r= r$ r r% s r r$ IncrementalDecoder.resetG s ))//5
r
c b [ R R U 5 nUS U R 4$ r )r r= r* r r- s r r* IncrementalDecoder.getstateK s+ 11::4@a$**%%r
c V [ R R X5 US U l g r )r r= r/ r r- s r r/ IncrementalDecoder.setstateP s! ))224?1X
r
r) Nr1 )
r3 r4 r5 r6 r rC r$ r* r/ r7 r8 r
r r: r: 1 s 9"&
r
r: c $ \ rS rSrS rSS jrSrg)StreamWriterU c h [ R R U 5 U ?g ! [ a g f = fr( )r rL r$ r AttributeErrorr% s r r$ StreamWriter.resetV 2 !!$' $
11c B [ R U l [ X5 $ r( )r r r )r r r
s r r StreamWriter.encode] s ))e$$r
)r Nr1 )r3 r4 r5 r6 r$ r r7 r8 r
r rL rL U s %r
rL c $ \ rS rSrS rSS jrSrg)StreamReadera c h [ R R U 5 U ?g ! [ a g f = fr( )r rV r$ r rO r% s r r$ StreamReader.resetb rQ rR c ^ [ U5 S: a&