← Years 7–8 Data & Information

Unicode and emoji

A system that gives every character a unique number, including letters from many languages and emoji, so it covers far more than the small ASCII table.

Understanding Unicode and emoji in Years 7–8 Data & Information

What it does: The number 128512 is the Unicode number for an emoji. chr() turns that stored number back into the emoji character. Unicode covers letters from many languages, symbols and emoji, so it goes far beyond English. Standard ASCII has no codes for Japanese characters. Unicode does. The number stays the same. Each device or app decides how to draw the emoji. Each character has one unique number, which lets a computer tell characters apart.

Common mistakes: chr() turns a number into a character, but letter holds a character. To get the character's Unicode number, use ord(letter). ord() changes a character into a number, but 128512 is already a number. To turn the Unicode number into an emoji, use chr(128512).

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 9–45) and word search (Modules 9–80).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
Which statement about Unicode is correct?
Unicode only gives numbers to English letters and digitsUnicode gives a unique number to characters from many languages and to emoji
Matches
ASCII has a number for every emoji and every language
↓
ASCII is too small to cover emoji and many languages. Unicode is the system that has numbers for them.
Applying
Meanings
Term
Unicode
Meaning
A system that gives every character a unique number, including letters from many languages and emoji, so it covers far more than the small ASCII table.
Practice
print(ord("A"))
Testing
Gaps
print(("A"))
Check Answer
Spots
1letter = "A"
2code = chr(letter)

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Badger' badge — Determined Digger, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. Which statement about Unicode is correct?
A. Unicode gives a unique number to characters from many languages and to emoji ✓
B. Unicode only gives numbers to English letters and digits
Unicode covers letters from many languages, symbols and emoji, so it goes far beyond English.
2. Why is ASCII not enough for the whole world?
A. It can only be read by old computers
B. Its small table has too few codes for all the languages and emoji ✓
ASCII has only 128 standard codes. That is not enough room for letters from many languages, let alone emoji.
3. How does a phone store the emoji 😀 in a message?
A. As a tiny photo saved inside the text
B. As a number, just like every other character ✓
Emoji are characters with their own Unicode numbers. The device uses the number to pick which picture to show.
4. A friend sends a message in Japanese. Which system can store those characters?
A. Unicode ✓
B. Standard ASCII
Standard ASCII has no codes for Japanese characters. Unicode does.
5. Which is true about Unicode and ASCII?
A. Unicode includes far more characters than ASCII ✓
B. ASCII includes far more characters than Unicode
Unicode is much bigger than ASCII. It has room for many thousands of characters.

Match the Pairs

ord('A') → Gives the Unicode number for the character A, which is 65
U+1F600 → The Unicode code point for the grinning face emoji
Unicode can give a number to an emoji, so a computer stores it just like a letter → chr(128512)
ASCII only has 128 characters, which is far too small for all the world's languages and emoji → ord('A') < 128
ASCII has a number for every emoji and every language → ASCII is too small to cover emoji and many languages. Unicode is the system that has numbers for them.
An emoji is stored as a tiny picture, not a number → Emoji are stored as numbers, just like letters. The device uses the Unicode number to draw the right picture.

Key Term

Unicode
A system that gives every character a unique number, including letters from many languages and emoji, so it covers far more than the small ASCII table.

Fill in the Blanks

1. print(ord("A"))
Hint: Type the function that turns a character into its Unicode number.
2. print(chr(65))
Hint: Type the function that turns a Unicode number back into a character.
3. print(ord("A") == 65)
Hint: Type the operator that checks if two values are equal. Unicode keeps the same numbers as ASCII for basic letters.
4. smile = 128512 print(chr(smile))
Hint: Type the variable name that holds the number for the emoji.
5. ch = "A" if ord(ch) > 127: print("Needs Unicode")
Hint: Type the comparison operator that checks if the number is larger than ASCII's last code.

Spot the Error

Question 1
A letter = "A"
B code = chr(letter)
C print(code)
D # prints 65
Line B — chr() turns a number into a character, but letter holds a character. To get the character's Unicode number, use ord(letter).
Question 2
A smile = ord(128512)
B print(smile)
C # shows a smiling emoji
Line A — ord() changes a character into a number, but 128512 is already a number. To turn the Unicode number into an emoji, use chr(128512).
Question 3
A emoji_code = 128512
B max_ascii = 255
C fits = emoji_code <= max_ascii
D print(fits)
E # False: ASCII cannot store it
Line B — Standard ASCII only has codes 0 to 127, so max_ascii should be 127. That is why ASCII cannot hold an emoji code like 128512.
Question 4
A bits_ascii = 8
B count = 2 ** bits_ascii
C print(count)
D # prints 128
Line A — ASCII uses 7 bits, which gives 2 ** 7 = 128 characters. With 8 bits the program would print 256, not 128. This small table is why Unicode was needed.
Question 5
A emojis = ["😀", "🐱", "🍕"]
B for e in emojis:
C code = ord(e)
D print(e, chr(e))
Line D — chr() needs a number, but e is an emoji character, so this causes an error. To show the emoji with its Unicode number, print(e, code).

Student with a class code? Join your class →