Character.getNumericValue has unexpected behaviour: it interprets A-Z as base-36 digits with values 10-35, but also supports non-arabic numerals and miscellaneous numeric unicode characters like ㊷. For example:

UCharacter.getNumericValue has the same behavior.

Consider using: