FutureLogic Lesson → Data Representation → Cambridge IGCSE 0478

ASCII vs Unicode Explained Simply

Both represent characters — so why did the world need to invent Unicode at all? This lesson starts from one idea (computers store numbers, not letters) and builds the answer from there.

ASCII vs Unicode Explained Simply

Students often know that ASCII and Unicode both represent characters — but not why Unicode had to exist. To answer that properly, we have to start with something that sounds almost too simple.

Computers store numbers, not letters. Every character must therefore be given a numerical code.

A screen full of text is, underneath, a list of numbers. The letter you see is drawn from a code the computer looked up. That single idea is the key to the whole topic.

⏱ Estimated time: 12–15 minutes
🎯 Level: Cambridge IGCSE 0478
📚 Pairs with the Topic 1 revision notes

By the end of this lesson, you will be able to:

Explain what a character set is.
Describe what ASCII represents.
Explain the limitation of a small character set.
Explain why Unicode was created.
Give a strong reason Unicode is needed.
Avoid the common misconception.

What is a character set?

A character set is simply an agreed mapping between characters and numerical codes. If everyone agrees that a particular letter has a particular code, then any computer can store it, send it and display it the same way.

The chain looks like this:

A → code number → binary

The character is turned into its agreed code, and the code is stored in binary. Reverse the chain to display it again. Without an agreed set of codes, one computer’s “A” could be another computer’s something else entirely.

ASCII: the established character set

ASCII is a long-established character set. It represents:

  • letters (upper and lower case),
  • digits,
  • punctuation, and
  • control characters (such as the code for a new line).

ASCII is traditionally associated with a relatively limited collection of characters — more than enough for basic English-language text, which is what it was designed for. For a long time, and for that purpose, it did the job perfectly well.

Did you know? The word “CAT” is stored as three separate character codes — one for C, one for A, one for T — each then held in binary. The computer never stores the word; it stores the codes and redraws the letters.

The problem ASCII could not solve

Now think about everything text has to cover around the world:

  • Thai,
  • Chinese,
  • Arabic,
  • emoji,
  • mathematical symbols,
  • and thousands of other international characters.

A small character set simply cannot give a unique code to all of these. There are not enough codes to go around. As computing became global, a set built mainly for English text ran out of room.

Unicode: one set for (almost) everything

Unicode provides a much larger, universal character repertoire, intended to represent characters from languages and symbol systems around the world. Where ASCII covers a limited collection, Unicode aims to cover them all in one agreed scheme.

It helps to see how the two relate, rather than treating them as rivals:

PointASCIIUnicode
PurposeRepresent characters as numerical codesRepresent characters as numerical codes
Range of charactersRelatively limited collectionVery large, universal repertoire
Suited toBasic English-language textMany languages and symbol systems worldwide

Both do the same fundamental thing — map characters to codes. Unicode is the response to needing far more of those codes.

ASCII and Unicode are not “text styles” that make letters look different. They define how characters are represented using numerical codes.

A worked example

Take the word CAT. Conceptually:

Characters → character codes → binary storage

Each letter is assigned its code, and each code is stored in binary. ASCII handles this comfortably, because C, A and T are ordinary English letters.

Now try a word containing Thai or Chinese characters, an emoji, or a rare mathematical symbol. A small character set cannot provide a unique code for all of these. That is the exact gap Unicode was created to close: a repertoire large enough that all of those characters have an agreed code too.

Exam Tip: give the right reason

If you are asked why Unicode is needed, a strong answer mentions that it can represent more characters and a wider range of languages and symbols than a smaller set like ASCII.

A weak answer just says “Unicode is newer” — that is not the reason, and it earns little credit.

Common Mistake: claiming “Unicode stores every character using more bits all the time.” Avoid unnecessary implementation-specific claims. At IGCSE level, keep to the conceptual point — Unicode provides a far larger character repertoire so that many more characters and languages can be represented — unless a question specifically asks you to discuss encodings.

Check Your Understanding

  1. What is a character set?
  2. Why is a small character set not enough for the world’s text?
  3. Give one strong reason Unicode is needed.
Check the answers

1. A character set is an agreed mapping between characters and numerical codes. 2. A limited set does not have enough unique codes for the thousands of characters used across many languages and symbol systems. 3. Unicode can represent more characters and a wider range of languages and symbols than a smaller set such as ASCII.

Final Summary

Core idea

Computers store numbers, so every character needs a numerical code.

Character set

An agreed mapping between characters and codes.

ASCII

Established set; relatively limited; suits basic English text.

Unicode

Large universal repertoire for many languages and symbols worldwide.

ASCII answered the question “how do we store English text?” Unicode answered the bigger one: “how do we store the world’s text?”
FutureLogic Education

Computer Science should feel clear, visual and achievable.

Download free revision PDFs, explore the Learning Hub, or try FutureLogic resources designed to help students move from confusion to confidence.