To quickly attempt to answer your specific questions.
1: A certain combination of bits represents a certain character. A single character may be stored in multiple bytes.
2: Brief information on and differences between the encodings you mentioned.
ASCII
Includes definitions for 128 characters.
ANSI
Has more characters than ASCII, but still fits in an octet. Requires a code page.
UTF-8
This can be used to represent any Unicode character. There are many many more Unicode characters than there are ASCII ones. It stores each character in one to four octets of data.
UTF-16
Similar to UTF-8 but the basic unit is 16 bits. If you're just using English then you're wasting 8 bits on every character.
3: A code page is what specifies to the computer which (combination of bits) refers to which character. Unicode does not need code pages since each character has it's own unique bit combination. ANSI has code pages because it only has 256 available characters. For example if you were on an Arabic computer you would have Arabic set as the code page and Arabic characters could be displayed.
4: The method of conversion depends on the character set you are converting to and from and the code pages used (if any). Some conversions may not be possible. UTF-8 is backward compatible with ASCII, meaning if your text only includes the first 128 US characters it's exactly the same as the same text in ASCII encoding.
This answer was ad-hoc and there may be mistakes, corrections welcome.