private void encode()

in core/src/main/java/org/apache/james/mime4j/codec/QuotedPrintableOutputStream.java [106:157]


    private void encode(byte next) throws IOException {
        if (next == LF) {
            if (binary) {
                writePending();
                escape(next);
            } else {
                if (pendingCR) {
                    // Expect either space or tab pending
                    // but not both
                    if (pendingSpace) {
                        escape(SP);
                    } else if (pendingTab) {
                        escape(TB);
                    }
                    lineBreak();
                    clearPending();
                } else {
                    writePending();
                    plain(next);
                }
            }
        } else if (next == CR) {
            if (binary)  {
                escape(next);
            } else {
                pendingCR = true;
            }
        } else {
            writePending();
            if (next == SP) {
                if (binary)  {
                    escape(next);
                } else {
                    pendingSpace = true;
                }
            } else if (next == TB) {
                if (binary)  {
                    escape(next);
                } else {
                    pendingTab = true;
                }
            } else if (next < SP) {
                escape(next);
            } else if (next > QUOTED_PRINTABLE_LAST_PLAIN) {
                escape(next);
            } else if (next == EQ || next == DOT) {
                escape(next);
            } else {
                plain(next);
            }
        }
    }