ASCII is a 7-bit encoding scheme that only supports 128 characters, which includes the uppercase and lowercase Latin alphabet, digits, punctuation marks, and control characters. On the other hand, Unicode is a superset of ASCII that supports over a million characters from various scripts and languages. It uses up to 4 bytes to represent each character and includes multiple encodings, such as UTF-8, UTF-16, and UTF-32.