コード例 #1
0
 def test_zeros_and_ones(self):
     for endian in 'little', 'big':
         for n in range(100):
             a = zeros(n, endian)
             s = serialize(a)
             self.assertEqual(s[1:], b'\0' * bits2bytes(n))
             self.assertEQUAL(a, deserialize(s))
             a.setall(1)
             self.assertEQUAL(a, deserialize(serialize(a)))
コード例 #2
0
def encodeFile(inFile, outFile, dic):
    import bitarray

    # read file as characters
    characters = []
    f = open(inFile, "r")
    for line in f:
        for character in line:
            characters.append(character)
    f.close()

    # characters -> encoded characters ( using tree )
    encodedbits = ""
    for char in characters:
        encodedbits += dic[char]

    encodedbits = bitarray.bitarray(encodedbits)
    print(encodedbits)
    # bits -> bytes
    bytes = serialize(encodedbits)

    # save file

    f = open(outFile, 'wb')
    f.write(bytes)
    f.close()
コード例 #3
0
ファイル: extend_json.py プロジェクト: zhc0757/bitarray
    def default(self, obj):

        if isinstance(obj, bitarray):
            if len(obj) > 50:
                return {'bitarray_b64': b64encode(serialize(obj)).decode()}
            else:
                return {'bitarray': obj.to01()}

        return json.JSONEncoder.default(self, obj)
コード例 #4
0
 def test_explicit(self):
     for a, b in [
         (bitarray(0, 'little'), b'\x00'),
         (bitarray(0, 'big'), b'\x10'),
         (bitarray('1', 'little'), b'\x07\x01'),
         (bitarray('1', 'big'), b'\x17\x80'),
         (bitarray('11110000', 'little'), b'\x00\x0f'),
         (bitarray('11110000', 'big'), b'\x10\xf0'),
     ]:
         self.assertEqual(serialize(a), b)
         self.assertEQUAL(deserialize(b), a)
コード例 #5
0
 def test_random(self):
     for a in self.randombitarrays():
         b = deserialize(serialize(a))
         self.assertEQUAL(a, b)
         self.check_obj(b)
コード例 #6
0
ファイル: extend_json.py プロジェクト: minghao2016/bitarray
    def default(self, obj):

        if isinstance(obj, bitarray):
            return {'bitarray': standard_b64encode(serialize(obj)).decode()}

        return json.JSONEncoder.default(self, obj)