{
    "content": [
        {
            "type": "text",
            "text": "# MIME::Decoder::Base64 (perldoc)\n\n**Summary:** MIME::Decoder::Base64 - encode/decode a \"base64\" stream\n\n**Synopsis:** A generic decoder object; see MIME::Decoder for usage.\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **SYNOPSIS** (2 lines)\n- **DESCRIPTION** (15 lines)\n- **SEE ALSO** (2 lines)\n- **AUTHOR** (5 lines)\n\n## Full Content\n\n### NAME\n\nMIME::Decoder::Base64 - encode/decode a \"base64\" stream\n\n### SYNOPSIS\n\nA generic decoder object; see MIME::Decoder for usage.\n\n### DESCRIPTION\n\nA MIME::Decoder subclass for the \"base64\" encoding. The name was chosen\nto jibe with the pre-existing MIME::Base64 utility package, which this\nclass actually uses to translate each chunk.\n\n*   When decoding, the input is read one line at a time. The input\naccumulates in an internal buffer, which is decoded in\nmultiple-of-4-sized chunks (plus a possible \"leftover\" input chunk,\nof course).\n\n*   When encoding, the input is read 45 bytes at a time: this ensures\nthat the output lines are not too long. We chose 45 since it is a\nmultiple of 3 and produces lines under 76 characters, as RFC 2045\nspecifies: The encoded output stream must be represented in lines of\nno more than 76 characters each.\n\n### SEE ALSO\n\nMIME::Decoder\n\n### AUTHOR\n\nEryq (eryq@zeegee.com), ZeeGee Software Inc (http://www.zeegee.com).\n\nAll rights reserved. This program is free software; you can redistribute\nit and/or modify it under the same terms as Perl itself.\n\n"
        }
    ],
    "structuredContent": {
        "command": "MIME::Decoder::Base64",
        "section": "",
        "mode": "perldoc",
        "summary": "MIME::Decoder::Base64 - encode/decode a \"base64\" stream",
        "synopsis": "A generic decoder object; see MIME::Decoder for usage.",
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 15,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 5,
                "subsections": []
            }
        ]
    }
}