Module refinery.units.encoding.b85

Expand source code Browse git
from __future__ import annotations

import base64
import re

from refinery.units import Unit


class b85(Unit):
    """
    Base85 encoding and decoding.
    """
    def reverse(self, data):
        return base64.b85encode(data)

    def process(self, data):
        if re.search(BR'\s', data) is not None:
            data = re.sub(BR'\s+', B'', data)
        return base64.b85decode(data)

    @classmethod
    def handles(cls, data: bytearray):
        from refinery.lib.patterns import formats
        return formats.spaced_b85.value.bin.fullmatch(data) is not None

Classes

class b85

Base85 encoding and decoding.

Expand source code Browse git
class b85(Unit):
    """
    Base85 encoding and decoding.
    """
    def reverse(self, data):
        return base64.b85encode(data)

    def process(self, data):
        if re.search(BR'\s', data) is not None:
            data = re.sub(BR'\s+', B'', data)
        return base64.b85decode(data)

    @classmethod
    def handles(cls, data: bytearray):
        from refinery.lib.patterns import formats
        return formats.spaced_b85.value.bin.fullmatch(data) is not None

Ancestors

Subclasses

Class variables

var required_dependencies
var optional_dependencies
var console

Methods

def reverse(self, data)
Expand source code Browse git
def reverse(self, data):
    return base64.b85encode(data)

Inherited members