The Alt symbols were originally created when the IBM PC was produced. It contained a character set of 256 characters numbered from 0 to 255, and one could type each character by assuring that Num Lock was on, holding down the left Alt key, and typing the number of the character one wanted from the numeric keypad, and then lifting the left Alt key.
Various alternate DOS character sets were later provided for languages other than English and for compatibility of characters with the ISO Latin-1 alphabet. The Alt key method still worked, but what character appeared depended on which of these various character sets were installed.
This has NOTHING to do with Unicode.
Windows introduced a second character set on the system, the Windows character set. The Alt-key method was extended to that if the user, when using the Alt-key method of obtaining characters, type a 0 before the number, the corresponding symbol in the Windows character set appeared.
Again, there are a number of Windows character sets and the exact character that appears depends on which one is the current 8-bit WIndows character set.
Again, this has NOTHING to do with Unicode.
The Alt-key method cannot be changed, except by modifying the operating system. As one other answerer indicates, Windows does allow you to remap your keyboard, which is perhaps what you would like to do. But re-assigning key strokes on the keyboard will not change your character sets or the Alt-key method that accesses them by number.
Under some Windows applications like Notepad and Office, you can use the Alt key to enter numbers higher than 255 and so get access to all base plane Unicode numbers by their decimal code. You can download and install the Quick Unicode Input Tool from http://www.cardbox.com/quick.htm which extends this Alt Unicode method to every application, and also allows you to enter the hexadecimal Unicode identifier. But when this is running, it replaces the normal Alt key method so that characters like ♥ are no longer available by their DOS character set value, but only by their Unicode value.
You will find the free Microsoft Keyboard Layout Creator at http://msdn.microsoft.com/en-us/goglobal/bb964665.aspx which will allow you to create customized keyboards for yourself. There are other keyboard layout creators which cost but are more powerful. See http://www.alanwood.net/unicode/utilities.html#win .
So you may quite easily remap your keyboard to allow use of particular key combinations for particular characters, for example you might set ♥ to right-Alt 3, set the em-dash to shift-right-Alt hyphen and set the en-dash to right-Alt hyphen. You can set almost any key to any character.
This causes NO problems with other programs, as long as you do not remap things like function keys, unless you know what you are doing.
The other answerers here mostly seem to exist in a world of “If I don’t know how to do it, it can’t be done”.