Unicode is backward compatible with ASCII because ASCII is a subset of Unicode. Unicode simply uses all character codes in ASCII and adds more.
Although character codes are usually written as 0041 in Unicode, character codes are numeric, so 0041 has the same meaning as hexadecimal number 41.
UTF-8 is not a character set, but an encoding used in Unicode. This is also compatible with ASCII because the codes used for multi-byte encoding lie in the portion of the unused ASCII character set.
Note that only 7-bit Unicode and UTF-8 compatible ASCII character sets, 8-bit ASCII character sets, such as the IBM850 and Windows-1250, use the part of the character set where UTF -8 has codes for encoding with a few bytes.
source share