public void escape(Pointer _src, int len) {
        byte[] bsrc = _src.buffer;
        int src = _src.start;
        for(int i=0; i<len; i++) {
            int curr = (int)bsrc[src+i]&0xFF;

            if(curr < 0x20 || (0x7E < curr)) {
                write(BACKSLASH, 1);
                if(curr == 0) {
                    write(ZERO, 1);
                } else {
                    write(X, 1);
                    write(hex_table.withStart((curr & 0xF0) >> 4), 1);
                    write(hex_table.withStart(curr & 0x0F), 1);
                }
            } else {
                write(_src.withStart(src+i), 1);
                if(curr == '\\') {
                    write(BACKSLASH, 1);
                }
            }
        }
    }
public void escape ( Pointer _src , int len ) { byte [ ] bsrc = _src . buffer ; int src = _src . start ; for ( int i = 0 ; i < len ; i ++ ) { int curr = ( int ) bsrc [ src + i ] & 0xFF ; if ( curr < 0x20 || ( 0x7E < curr ) ) { write ( BACKSLASH , 1 ) ; if ( curr == 0 ) { write ( ZERO , 1 ) ; } else { write ( X , 1 ) ; write ( hex_table . withStart ( ( curr & 0xF0 ) > > 4 ) , 1 ) ; write ( hex_table . withStart ( curr & 0x0F ) , 1 ) ; } } else { write ( _src . withStart ( src + i ) , 1 ) ; if ( curr == '\\' ) { write ( BACKSLASH , 1 ) ; } } } }
syck_emitter_escape