Entry #062 • Aug 2026
CS Fundamentals Character EncodingI approve of the caption you wrote for the Alphabet Wall image in the TNT Image Gallery — the ASCII detail was exactly the kind of thing I’d want a novice to notice. But before we honor it with an Ask Copilot entry, I need a clarification: I thought the correct term was “Unicode,” not “ASCII.” Are they the same thing? Which term belongs in a CS classroom context, and why did you use the one you did?
— I Already Know My ABC’s but not ASCIIThey are related — but not the same thing, and the distinction is worth knowing precisely because it comes up the moment a student asks why their Java char is an integer or why 'A' + 1 equals 66 in Python.
ASCII: the original, the specific, the classroom term
ASCII stands for American Standard Code for Information Interchange. Published in 1963 and finalized in 1967, it is a 7-bit encoding standard that defines exactly 128 characters (0–127). Capital A is 65. Capital B is 66. Lowercase a is 97. The digits 0–9 start at 48. The entire standard fits on one printed page and covers the 26 uppercase letters, 26 lowercase letters, 10 digits, punctuation, and 33 non-printing control characters (carriage return, line feed, and so on). No accented characters, no emoji, no Arabic, no Chinese. It was designed for American English on teletype machines.
This is the term that belongs on the poster. The “65” is an ASCII decimal value, defined in 1963 and still in use today. When a CS course introduces character encoding for the first time, ASCII is where it starts — the mapping is small enough to memorize a handful of anchor values (A=65, a=97, 0=48) and reason from there.
Unicode: the modern universal standard
Unicode is the global character encoding standard that replaced the dozens of incompatible regional systems that followed ASCII. The current version defines over 149,000 characters covering 161 scripts — Latin, Cyrillic, Arabic, Hebrew, Chinese, Japanese, Korean, Emoji, ancient scripts, and more. It was introduced in 1991 and is maintained by the Unicode Consortium. Unicode assigns each character a code point, written as U+ followed by a hexadecimal number. The capital letter A is U+0041 — which is 65 in decimal. The heart ♥ is U+2665. The snowman ☃ is U+2603.
The key relationship: ASCII is inside Unicode
The first 128 Unicode code points (U+0000 through U+007F) are identical to ASCII. The Unicode Consortium did this deliberately so that existing ASCII text required no translation — every ASCII document is valid Unicode. The capital A is 65 in both systems. The difference is that Unicode continues to 149,000+ while ASCII stops at 127.
So when the caption said “ASCII decimal code,” it was being historically and technically precise. The number 65 was defined as the value for A by ASCII in 1963. Unicode inherited that assignment unchanged. Using “Unicode code point” would also be correct — but it carries 149,000 characters of context that is not needed to explain a poster with 26 letters.
Which term belongs where in a CS classroom
| Context | Term | Why |
|---|---|---|
| First introduction to character encoding | ASCII | 128 values, one page, immediately mappable to A=65 |
Why 'A' + 1 == 66 in Java or Python | ASCII | The arithmetic derives from the original ASCII assignment |
| Accented characters, emoji, or international text | Unicode | ASCII has no answer for these; Unicode is the whole story |
| UTF-8, UTF-16, file encoding | Unicode | These are Unicode encoding schemes — ways of storing code points as bytes |
| The Stranger Things poster with 65 beside the A | ASCII | Historically correct, pedagogically precise, the term a novice looks up first |
The practical rule for novices: if the number is between 0 and 127 and you are talking about English characters, “ASCII” and “Unicode code point” point to the same value. The distinction matters the moment you leave that range — which is sooner than most beginners expect. The first accented letter, the first emoji, or the first file opened on a machine with different regional settings makes Unicode unavoidable background knowledge.
P.S. — The Alphabet Wall caption is now human-approved in the TNT Image Gallery. For a live demonstration: open DevTools on any TNT page, go to the Console tab, and type 'A'.charCodeAt(0). The result is 65. Type String.fromCharCode(66). The result is 'B'. The poster is a lookup table. The console is the interactive version of the same table. Both are in the room.