@Immutable
    public static Memory convert_uudecode(String source) {
        int length = source.length();

        if (length == 0) {
            return Memory.FALSE;
        }

        StringBuilder builder = new StringBuilder();
        int i = 0;
        while (i < length) {
            int ch1 = source.charAt(i++);

            if (ch1 == 0x60 || ch1 == 0x20) {
                break;
            } else if (ch1 < 0x20 || 0x5f < ch1) {
                continue;
            }

            int sublen = ch1 - 0x20;

            while (sublen > 0) {
                int code;

                code = ((source.charAt(i++) - 0x20) & 0x3f) << 18;
                code += ((source.charAt(i++) - 0x20) & 0x3f) << 12;
                code += ((source.charAt(i++) - 0x20) & 0x3f) << 6;
                code += ((source.charAt(i++) - 0x20) & 0x3f);

                builder.append(code >> 16);

                if (sublen > 1) {
                    builder.append(code >> 8);
                }

                if (sublen > 2) {
                    builder.append(code);
                }

                sublen -= 3;
            }
        }

        return new StringMemory(builder.toString());
    }
Parses the cslashes bitmap returning an actual bitmap.

@param charset the bitmap string

@return the actual bitmap
exts/jphp-zend-ext/src/main/java/org/develnext/jphp/zend/ext/standard/StringFunctions.java