BBencora
Product

Functies van de software · Canonieke bencode-uitvoer

01

Controleer de bytesleutelvolgorde en geheugenlimieten van bencode.py voordat je de serialisatie accepteert.

01

Modellen

Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.

02

Project

Selecteer een map en laat de assistent de relevante bestanden lezen voordat hij ze wijzigt. Benoem het doel en de grenzen van je opdracht.

03

Wijzigingen

Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

Canonieke bencode-uitvoer

● ● ●Bencora●
Werkprocessen · Canonieke bencode-uitvoer ×
def bencode(value):
    active, visited, used, parts = set(), 0, 0, []
    def emit(*chunks):
        nonlocal used
        size = sum(len(chunk) for chunk in chunks)
        if size > 65536 - used:
            raise ValueError("bencode.output")
        used += size
        parts.extend(chunks)
    def encode(item, depth):
        nonlocal visited
        visited += 1
        if depth > 16 or visited > 2048:
            raise ValueError("bencode.bounds")
        if type(item) is int:
            if not -10**18 <= item <= 10**18:
                raise ValueError("bencode.integer")
            emit(b"i", str(item).encode("ascii"), b"e")
        elif type(item) is bytes:
            if len(item) > 65536:
                raise ValueError("bencode.bytes")
            emit(str(len(item)).encode("ascii"), b":", item)
        elif type(item) in (list, dict):
            if id(item) in active or len(item) > 64:
                raise ValueError("bencode.container")
            active.add(id(item))
            try:
                emit(b"l" if type(item) is list else b"d")
                if type(item) is list:
                    for child in item:
                        encode(child, depth+1)
                else:
                    if any(type(k) is not bytes for k in item):
                        raise ValueError("bencode.key")
                    for key in sorted(item):
                        encode(key, depth+1)
                        encode(item[key], depth+1)
                emit(b"e")
            finally:
                active.remove(id(item))
        else:
            raise ValueError("bencode.type")
    encode(value, 0)
    return b"".join(parts)
✳Canonieke bencode-uitvoer
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
AI-werkruimte voor code

Je volgende idee begint hier.

Download voor Windows ↗