A converter is predictable only when the grammar is narrower than a programming-language literal parser. NumberBase requires the user to select the source base, then treats the input as one signed digit string in that alphabet. It does not infer meaning from 0x, 0b, a decimal point, or an exponent.

Input letters ignore case; output is uppercase

A and a both represent digit value 10, through Z and z for value 35. Case does not create different numbers. Canonical output uses uppercase A–Z so equivalent inputs such as FF and ff produce the same normalized result.

The minus is a sign, not a digit

One ASCII minus may appear only before the first digit. It applies to the complete magnitude and remains before every nonzero output, including binary. The converter uses sign-and-magnitude text; it does not invent a bit width or two's-complement encoding. Negative zero normalizes to 0.

Reject ambiguous syntax instead of repairing it

Whitespace, plus signs, base prefixes, underscores, commas, decimal points, exponents, Unicode lookalike digits, and text are outside the grammar. Leading zeroes in the magnitude are accepted but removed from canonical output. Empty input and a sign without digits are invalid.