String unescapeString ( String st ) { StringBuilder sb = new StringBuilder ( st . length ( ) ) ; for ( int i = 0 ; i < st . length ( ) ; i ++ ) { char ch = st . charAt ( i ) ; if ( ch == ' ' ) { char nextChar = ( i == st . length ( ) - 1 ) ? ' ' : st . charAt ( i + 1 ) ; switch ( nextChar ) { case ' ' : ch = ' ' ; break ; case ' ' : ch = ' ' ; break ; case ' ' : ch = ' ' ; break ; case ' ' : ch = ' ' ; break ; case ' ' : ch = ' ' ; break ; case ' ' : ch = ' ' ; break ; /*case '\"': ch = '\"'; break; case '\'': ch = '\''; break;*/ // Hex Unicode: u???? case ' ' : if ( i >= st . length ( ) - 5 ) { ch = ' ' ; break ; } int code = Integer . parseInt ( "" + st . charAt ( i + 2 ) + st . charAt ( i + 3 ) + st . charAt ( i + 4 ) + st . charAt ( i + 5 ) , 16 ) ; sb . append ( Character . toChars ( code ) ) ; i += 5 ; continue ; } i ++ ; } sb . append ( ch ) ; } return sb . toString ( ) ; }
Removed octal support