src/main/java/de/qaware/xff/util/UrlPathHelper.java
/**
	 * process the next 2 chars following the '%' at once to decode the original value
	 */
process the next 2 chars following the '%' at once to decode the original value
process the next 2 chars following the ' % ' at once to decode the original value
@SuppressWarnings("squid:S109")
	private static char decodePercentEncodedChar(String source, int pos) {
		checkBoundsOfSequence(source, pos + 2);
		char hex1 = source.charAt(pos + 1);
		char hex2 = source.charAt(pos + 2);
		int high4Bits = Character.digit(hex1, HEX_RADIX);
		int low4Bits = Character.digit(hex2, HEX_RADIX);
		if (high4Bits == -1 || low4Bits == -1) {
			throw illegalEncodingSequence(source, pos);
		}
		return (char) ((high4Bits << 4) + low4Bits);
	}
@ SuppressWarnings ( "squid:S109" ) private static char decodePercentEncodedChar ( String source , int pos ) { checkBoundsOfSequence ( source , pos + 2 ) ; char hex1 = source . charAt ( pos + 1 ) ; char hex2 = source . charAt ( pos + 2 ) ; int high4Bits = Character . digit ( hex1 , HEX_RADIX ) ; int low4Bits = Character . digit ( hex2 , HEX_RADIX ) ; if ( high4Bits == - 1 || low4Bits == - 1 ) { throw illegalEncodingSequence ( source , pos ) ; } return ( char ) ( ( high4Bits << 4 ) + low4Bits ) ; }
process the next 2 chars following the '%' at once to decode the original value
process the next 2 chars following the ' % ' at once to decode the original value
//"magic number"  required for decoder logic //process the next 2 chars following the '%' at once to decode the original value //reverse the '%xy' encoding to reconstruct the original char