The formal languages we use to represent number systems are interchangeable, which is why we don't hesitate to use different notations, e.g. hexadecimal, octal, binary, etc... to represent the reals. The addition, or removal, of characters to the underlying alphabet is irrelevant, as long as the interpretation remains consistent.
So why are we restricted from using the integers to represent real numbers?
For example, the octal language used to represent real numbers consists of the following alphabet: $\{0,1,2,3,4,5,6,7,.,-\}$. Clearly, we can replace the decimal point '$.$' and the minus sign '$-$' with $8$ and $9$ respectively. Thus a real number such as $-9.125_{10}$ or $-11.1_{8}$ becomes $91181$. This mapping also leaves us with an infinite number of meaningless symbols such as $888..$, $8989...$, or $999...$ which could be used to establish an entirely new language ($\{8,9\}^*$) that could be used to represent irrationals or whatever else you'd like.
Why doesn't this particular interpretation constitute an injective mapping?
How is this not a listing of the reals?
The Kleene star produces only finite sequences of the alphabet symbols. The elements in $\Sigma^*$ for some alphabet $\Sigma$ can be arbitrary long, but each of them is, individually, finite.
Because of this, there are not enough elements in $\Sigma^*$ to give every real number a representation.
You can select some irrational numbers to represent with your strings-that-don't-have-a-meaning-yet, of course -- getting an injective mapping from $\Sigma^*$ to $\mathbb R$ is no problem, but you can't make it surjective. There will always be some reals left over that you're not representing.