PHP 7.4.33
Preview: utf_8_sig.py Size: 4.04 KB
/home/godevadmin/public_html/upload_images/home/000~ROOT~000/lib64/python3.6/encodings/utf_8_sig.py

""" 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.
"""
import codecs

### Codec APIs

def encode(input, errors='strict'):
    return (codecs.BOM_UTF8 + codecs.utf_8_encode(input, errors)[0],
            len(input))

def decode(input, errors='strict'):
    prefix = 0
    if input[:3] == codecs.BOM_UTF8:
        input = input[3:]
        prefix = 3
    (output, consumed) = codecs.utf_8_decode(input, errors, True)
    return (output, consumed+prefix)

class IncrementalEncoder(codecs.IncrementalEncoder):
    def __init__(self, errors='strict'):
        codecs.IncrementalEncoder.__init__(self, errors)
        self.first = 1

    def encode(self, input, final=False):
        if self.first:
            self.first = 0
            return codecs.BOM_UTF8 + \
                   codecs.utf_8_encode(input, self.errors)[0]
        else:
            return codecs.utf_8_encode(input, self.errors)[0]

    def reset(self):
        codecs.IncrementalEncoder.reset(self)
        self.first = 1

    def getstate(self):
        return self.first

    def setstate(self, state):
        self.first = state

class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
    def __init__(self, errors='strict'):
        codecs.BufferedIncrementalDecoder.__init__(self, errors)
        self.first = 1

    def _buffer_decode(self, input, errors, final):
        if self.first:
            if len(input) < 3:
                if codecs.BOM_UTF8.startswith(input):
                    # not enough data to decide if this really is a BOM
                    # => try again on the next call
                    return ("", 0)
                else:
                    self.first = 0
            else:
                self.first = 0
                if input[:3] == codecs.BOM_UTF8:
                    (output, consumed) = \
                       codecs.utf_8_decode(input[3:], errors, final)
                    return (output, consumed+3)
        return codecs.utf_8_decode(input, errors, final)

    def reset(self):
        codecs.BufferedIncrementalDecoder.reset(self)
        self.first = 1

    def getstate(self):
        state = codecs.BufferedIncrementalDecoder.getstate(self)
        # state[1] must be 0 here, as it isn't passed along to the caller
        return (state[0], self.first)

    def setstate(self, state):
        # state[1] will be ignored by BufferedIncrementalDecoder.setstate()
        codecs.BufferedIncrementalDecoder.setstate(self, state)
        self.first = state[1]

class StreamWriter(codecs.StreamWriter):
    def reset(self):
        codecs.StreamWriter.reset(self)
        try:
            del self.encode
        except AttributeError:
            pass

    def encode(self, input, errors='strict'):
        self.encode = codecs.utf_8_encode
        return encode(input, errors)

class StreamReader(codecs.StreamReader):
    def reset(self):
        codecs.StreamReader.reset(self)
        try:
            del self.decode
        except AttributeError:
            pass

    def decode(self, input, errors='strict'):
        if len(input) < 3:
            if codecs.BOM_UTF8.startswith(input):
                # not enough data to decide if this is a BOM
                # => try again on the next call
                return ("", 0)
        elif input[:3] == codecs.BOM_UTF8:
            self.decode = codecs.utf_8_decode
            (output, consumed) = codecs.utf_8_decode(input[3:],errors)
            return (output, consumed+3)
        # (else) no BOM present
        self.decode = codecs.utf_8_decode
        return codecs.utf_8_decode(input, errors)

### encodings module API

def getregentry():
    return codecs.CodecInfo(
        name='utf-8-sig',
        encode=encode,
        decode=decode,
        incrementalencoder=IncrementalEncoder,
        incrementaldecoder=IncrementalDecoder,
        streamreader=StreamReader,
        streamwriter=StreamWriter,
    )

Directory Contents

Dirs: 1 × Files: 125

Name Size Perms Modified Actions
- drwxr-xr-x 2025-07-03 05:10:07
Edit Download
15.21 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.22 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.50 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1019 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.01 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.20 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.04 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.81 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.80 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
11.77 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.75 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.81 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.37 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.87 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.67 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.31 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
34.18 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.06 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.13 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.11 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.22 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.87 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.82 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
32.59 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.45 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
32.87 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.81 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.59 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
32.19 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.30 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.55 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1023 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1023 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1023 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.25 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.81 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
33.79 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.80 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.37 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.05 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.19 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.79 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.19 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.17 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.51 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.06 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.05 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.08 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.03 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.03 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.00 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.00 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.00 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.01 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1015 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.47 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.16 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1011 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
8.88 KB lrw-r--r-- 2025-07-01 22:09:53
Edit Download
1.03 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.04 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.04 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.04 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.05 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.04 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.03 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.87 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.09 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.78 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.06 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.71 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
10.58 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.54 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
10.78 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.85 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.27 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.05 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.96 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.33 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.90 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.24 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1023 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.46 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.88 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.44 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.40 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.23 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
35.61 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.77 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.31 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.14 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
14.81 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.40 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.18 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.79 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.16 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.34 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.20 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.18 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1019 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.20 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
13.69 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
6.72 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.49 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.18 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.38 KB lrwxr-xr-x 2018-12-23 21:37:14
Edit Download
1.01 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.03 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.03 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
12.01 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.27 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.16 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.17 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
946 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1005 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
4.04 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
5.11 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.01 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.01 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
5.01 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
930 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
930 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.66 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.15 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
5.51 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).