/* This internal function only deal with Unicode character which maps to a valid hexadecimal ASII character, i.e. L'0' to L'9', L'a' to L'f' or L'A' to L'F'. For other Unicode character, the value returned does not make sense. */
UINTN HexCharToDecimal(IN CHAR16 Char)
/* This internal function only deal with Unicode character which maps to a valid hexadecimal ASII character, i.e. L'0' to L'9', L'a' to L'f' or L'A' to L'F'. For other Unicode character, the value returned does not make sense. */
UINTN HexCharToDecimal(IN CHAR16 Char)
{
  if ((Char >= '0') && (Char <= '9')) {
    return Char - L'0';
  } else if ((Char >= 'a') && (Char <= 'f')) {
    return Char - L'a' + 10;
  } else {
    return Char - L'A' + 10;
  }
}