A character set is an agreed list that assigns every letter, digit, punctuation mark and symbol a unique binary code, so computers can store and exchange text reliably. GCSE computer science covers two character sets: ASCII, which uses 7 or 8 bits per character, and Unicode, which extends this to cover virtually every writing system and emoji.

What is a character set and why do computers need one?

Computers only store binary — sequences of 0s and 1s. Text has no natural binary form, so every computer must agree on a mapping between characters and numbers before it can store or send text reliably. That agreed mapping is called a character set (sometimes called a character encoding). Without a shared standard, a document written on one computer could display as meaningless symbols on another.

Each character in a set is given a unique decimal value, which the computer then converts into binary for storage. The number of bits used per character determines how many different characters the set can represent — this is the idea that connects every question in this topic.

How does ASCII encode characters?

ASCII (American Standard Code for Information Interchange) is the character set GCSE specifications introduce first. Standard ASCII uses 7 bits, giving $2^7 = 128$ possible codes — enough for uppercase and lowercase English letters, the digits 0–9, common punctuation, and a handful of control characters such as "new line". Extended ASCII adds an eighth bit, giving $2^8 = 256$ codes, which allows some accented letters and symbols too. Extended ASCII is the version most GCSE questions actually use, because 8 bits maps neatly onto 1 byte.

Character Decimal value 8-bit binary
! 33 00100001
5 53 00110101
H 72 01001000
h 104 01101000
~ 126 01111110

A useful pattern to remember: uppercase H (72) and lowercase h (104) are exactly 32 apart in ASCII — every lower-case letter's code is 32 more than its upper-case equivalent. That is why converting text between cases is, at the binary level, a simple arithmetic shift.

Worked example: How many bits are needed to store the word "GCSE" using standard 8-bit ASCII?

4 characters × 8 bits = 32 bits = 4 bytes.

Why was Unicode created?

ASCII's 128 or 256 codes cannot represent Chinese characters, Arabic script, Cyrillic, or the thousands of mathematical symbols and emoji used worldwide. Unicode solves this by assigning a unique number — a code point, written like U+0041 for capital A — to well over 100,000 characters, covering virtually every writing system currently in use plus symbols and emoji.

Unicode is not stored using one fixed number of bits per character. Instead it is stored using encodings such as UTF-8, which represents common characters (including everything in ASCII) using a single byte, but uses up to four bytes for less common characters. This makes UTF-8 backward-compatible with ASCII: any valid ASCII file is automatically a valid UTF-8 file, because the first 128 Unicode code points match ASCII exactly.

How do you calculate the storage needed for a piece of text?

For a fixed-width character set, the rule is straightforward:

$$\text{storage (bits)} = \text{number of characters} \times \text{bits per character}$$

Worked example (ASCII): A student's password is "Tutor26" — 7 characters. Using standard 8-bit ASCII, how many bytes are needed?

7 × 8 = 56 bits = 56 ÷ 8 = 7 bytes.

Worked example (Unicode): The same word contains only standard keyboard characters, so under UTF-8 each one still needs 1 byte — 7 bytes total, identical to ASCII. But a single emoji character typically needs 4 bytes under UTF-8, even though it counts as only one character. This is why files containing emoji or non-Latin scripts can be noticeably larger than plain English text with the same character count.

ASCII vs Unicode: what is the difference?

Feature ASCII Unicode
Bits per character 7 (standard) or 8 (extended) Variable — 1 to 4 bytes in UTF-8
Characters supported 128 or 256 Well over 100,000
Covers non-English scripts No Yes
Covers emoji and symbols No Yes
Backward compatible with ASCII Yes, via UTF-8

How do GCSE exam questions test character sets?

Exam questions typically ask you to calculate file size from a given character count and a stated number of bits per character, to explain in your own words why Unicode was needed, or to compare the capacity of ASCII against Unicode. A common mistake is assuming Unicode always uses a fixed number of bits — unlike ASCII, you cannot simply multiply characters by 8 unless the question tells you which fixed-width encoding to use.

Another frequent exam angle is linking character sets to real systems: a form that only accepts ASCII text cannot correctly store a name written in Mandarin or Arabic script, whereas a Unicode-based system can, because its character set was designed for exactly that purpose.

Frequently asked questions

What is the difference between ASCII and Unicode?

ASCII is a 7- or 8-bit character set covering 128 to 256 characters, enough for English text and basic symbols. Unicode is a much larger standard covering well over 100,000 characters from virtually every writing system, using variable-length encodings such as UTF-8. Unicode is backward compatible with ASCII, meaning every ASCII character keeps the same code in UTF-8.

How many bits does ASCII use per character?

Standard ASCII uses 7 bits per character, giving 128 possible codes. Extended ASCII uses 8 bits, one full byte, giving 256 possible codes — this is the version most commonly used in GCSE calculation questions because it fits neatly into a byte.

Why can't ASCII represent every language in the world?

ASCII was designed around the English alphabet, so its 128 or 256 codes leave no room for the thousands of characters used in scripts such as Chinese, Arabic or Cyrillic, let alone emoji. Unicode was created specifically to solve this problem by giving every character in every major writing system its own unique code point.

How do you calculate the file size of a piece of text in ASCII?

Multiply the number of characters by the number of bits per character (7 or 8 for ASCII), then divide by 8 to convert bits to bytes. For example, a 20-character message stored in 8-bit ASCII uses 20 × 8 = 160 bits, which equals 20 bytes.


For Socratic GCSE computer science tutoring on data representation, from binary to character sets, visit aitutors.me.