in ldap/model/src/main/java/org/apache/directory/api/ldap/model/filter/LeafNode.java [201:258]
private static String escapeString( byte[] bytes )
{
StringBuilder sb = new StringBuilder( bytes.length );
for ( byte b : bytes )
{
switch ( b )
{
case 0x20 : case 0x21 : case 0x22 : case 0x23 : case 0x24 : case 0x25 : case 0x26 : case 0x27 :
sb.append( ( char ) b );
break;
case 0x28 :
// '('
sb.append( "\\28" );
break;
case 0x29 :
sb.append( "\\29" );
// ')'
break;
case 0x2A :
// '*'
sb.append( "\\2A" );
break;
case 0x2B : case 0x2C : case 0x2D : case 0x2E : case 0x2F :
case 0x30 : case 0x31 : case 0x32 : case 0x33 : case 0x34 : case 0x35 : case 0x36 : case 0x37 :
case 0x38 : case 0x39 : case 0x3A : case 0x3B : case 0x3C : case 0x3D : case 0x3E : case 0x3F :
case 0x40 : case 0x41 : case 0x42 : case 0x43 : case 0x44 : case 0x45 : case 0x46 : case 0x47 :
case 0x48 : case 0x49 : case 0x4A : case 0x4B : case 0x4C : case 0x4D : case 0x4E : case 0x4F :
case 0x50 : case 0x51 : case 0x52 : case 0x53 : case 0x54 : case 0x55 : case 0x56 : case 0x57 :
case 0x58 : case 0x59 : case 0x5A : case 0x5B :
sb.append( ( char ) b );
break;
case 0x5C :
// '\'
sb.append( "\\5C" );
break;
case 0x5D : case 0x5E : case 0x5F :
case 0x60 : case 0x61 : case 0x62 : case 0x63 : case 0x64 : case 0x65 : case 0x66 : case 0x67 :
case 0x68 : case 0x69 : case 0x6A : case 0x6B : case 0x6C : case 0x6D : case 0x6E : case 0x6F :
case 0x70 : case 0x71 : case 0x72 : case 0x73 : case 0x74 : case 0x75 : case 0x76 : case 0x77 :
case 0x78 : case 0x79 : case 0x7A : case 0x7B : case 0x7C : case 0x7D : case 0x7E : case 0x7F :
sb.append( ( char ) b );
break;
default :
// This is a binary value
return null;
}
}
return sb.toString();
}