CChunkRavel
AI 코딩 작업 공간

제한된 chunked 본문 디코딩

최대 65536바이트의 제한된 chunked 본문을 4096바이트 출력 한도로 디코딩합니다.

● ● ●ChunkRavel●
작업 흐름 · 제한된 chunked 본문 디코딩 ×
def chunk_body(wire):
    if type(wire) is not bytes or len(wire) > 65536:
        raise ValueError("bounded bytes")
    pos, body = 0, bytearray()
    while True:
        end = wire.find(b"\r\n", pos)
        token = wire[pos:end] if end >= 0 else b""
        if not 1 <= len(token) <= 8 or any(
            c not in b"0123456789abcdefABCDEF" for c in token):
            raise ValueError("plain hexadecimal size")
        size, pos = int(token, 16), end + 2
        if size == 0:
            if wire[pos:] != b"\r\n":
                raise ValueError("no trailers or extra bytes")
            return bytes(body)
        if len(body) + size > 4096:
            raise ValueError("body limit")
        if pos + size + 2 > len(wire):
            raise ValueError("truncated chunk")
        if wire[pos + size:pos + size + 2] != b"\r\n":
            raise ValueError("chunk delimiter")
        body.extend(wire[pos:pos + size])
        pos += size + 2
✳최대 65536바이트의 제한된 chunked 본문을 4096바이트 출력 한도로 디코딩합니다.
✓ 변경 사항적용하기 전에 검토하세요 ↗
작업 공간 예시 화면
모델
기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다.
프로젝트
내부 CRLF와 영 청크를 검사하고 잘린 데이터, 확장, 끝 필드와 추가 바이트를 거부합니다.
적용하기 전에 검토하세요
실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요.
작업 흐름

제한된 chunked 본문 디코딩

작업 흐름 ↗
작업 흐름
def chunk_body(wire):
    if type(wire) is not bytes or len(wire) > 65536:
        raise ValueError("bounded bytes")
    pos, body = 0, bytearray()
    while True:
        end = wire.find(b"\r\n", pos)
        token = wire[pos:end] if end >= 0 else b""
        if not 1 <= len(token) <= 8 or any(
            c not in b"0123456789abcdefABCDEF" for c in token):
            raise ValueError("plain hexadecimal size")
        size, pos = int(token, 16), end + 2
        if size == 0:
            if wire[pos:] != b"\r\n":
                raise ValueError("no trailers or extra bytes")
            return bytes(body)
        if len(body) + size > 4096:
            raise ValueError("body limit")
        if pos + size + 2 > len(wire):
            raise ValueError("truncated chunk")
        if wire[pos + size:pos + size + 2] != b"\r\n":
            raise ValueError("chunk delimiter")
        body.extend(wire[pos:pos + size])
        pos += size + 2
AI 코딩 작업 공간

디코더가 허용하는 형식을 명확히 유지하세요

디코더에는 유효한 입력이 어디서 끝나고 거부가 어디서 시작되는지에 대한 정확한 답이 필요합니다. ChunkRavel은 프로젝트 코드를 보며 그 경계를 개발하는 Windows용 AI 코딩 작업 공간입니다. 지원 입력 형식, 크기 한계, 예상 결과를 설명한 뒤 기존 구현이 바이트를 따라 진행하고 실패를 보고하는 방식을 검토하도록 요청하세요.

제한된 청크 본문 예시는 살펴볼 수 있는 작업 중 하나입니다. 의도적으로 좁은 형식을 허용하므로 잘린 입력 및 추가 바이트와 함께 미지원 확장과 트레일러를 검토하세요. 요구 사항이 명시적으로 확장되지 않는 한 기존 한계를 보존하는 변경을 요청하세요. 정확한 바이트 결과도 수신 구성 요소가 잘못 처리할 수 있으므로 디코딩 출력을 호출 코드까지 추적하세요.

거부 성향 제거 AI 선택지를 사용하려면 지원되는 OpenAI 호환 또는 Anthropic 엔드포인트에서 사용 가능한 모델을 선택하고 필요하면 자격 증명을 제공하세요. 컨텍스트, 도구, 적용 제한은 모델과 서버가 결정합니다. 디코더 변경을 수용하기 전에 차이를 살펴보고 프로젝트 테스트로 유효 및 무효 테스트 데이터를 실행하세요. 별도로 실행되는 로컬 모델 서버가 모든 연결 도구나 서비스를 로컬로 만들지는 않습니다.

좁은 디코더 계약 검토

디코더가 모든 청크 입력 형식을 허용해야 하나요?

애플리케이션의 요구 사항이며 이를 위해 구현을 설계하고 테스트한 경우에만 그렇습니다. 예시는 제한된 형식을 지원합니다. 좁은 시연을 완전한 프로토콜 지원으로 여기지 말고 확장, 트레일러 등 미지원 사례를 명시하세요.

잘린 본문은 어떻게 테스트하나요?

크기 토큰, 본문, 구분자 내부 등 의미 있는 경계에서 잘린 테스트 데이터를 제공하세요. 예상 거부 동작을 명시하세요. 실제 디코더 진입점으로 실행해 검토 결과에 주변 입력 처리도 포함하세요.

마지막 청크 뒤의 남은 바이트를 확인하는 이유는 무엇인가요?

소비하지 않은 입력에 대해 애플리케이션에 명확한 정책이 필요합니다. 추가 바이트를 거부할지 다른 계층에서 처리할지 살펴보고 그 계약을 테스트하세요. 실수로 무시하면 디코더와 호출 코드의 불일치를 감출 수 있습니다.

SQL 관련 도메인이 데이터베이스 디코딩 기능을 뜻하나요?

그런 기능을 주장하지 않습니다. 제공된 프로젝트 예시는 바이트 디코딩에 관한 것이며 ChunkRavel은 Windows용 AI 코딩 작업 공간입니다. 도메인에서 기능을 추측하지 말고 작업에 맞는 실제 프로젝트 파일과 런타임을 선택하세요.

Windows용 다운로드 ↗

ChunkRavel · 업데이트 2026-10-25