Each character is one byte, and each bit is a power of two
Computers store text as numbers. Every character has a code — A is 65, a is 97 — and that code is written in binary using 8 bits (one byte). To read a byte, add up the powers of two wherever a bit is 1.
The leftmost bit is the largest place value (27 = 128) and the rightmost is 20 = 1. Encoding runs the same path backward: take the character’s code, write it in binary, and pad to 8 digits.
ASCII codes for common characters
| Character | Decimal | Binary (8-bit) |
|---|---|---|
| Space | 32 | 00100000 |
| 0 | 48 | 00110000 |
| 9 | 57 | 00111001 |
| A | 65 | 01000001 |
| Z | 90 | 01011010 |
| a | 97 | 01100001 |
| z | 122 | 01111010 |
| ! | 33 | 00100001 |
| ? | 63 | 00111111 |
Uppercase and lowercase differ by exactly 32: A is 65, a is 97. That single bit (25) is the case flag in ASCII.
Where ASCII stops and UTF-8 begins
- ASCII covers 128 characters. Codes 0–127 hold the English letters, digits, punctuation and control codes. That fits in 7 bits, but each character is stored in a full 8-bit byte.
- Accented and non-Latin letters need UTF-8. Characters like é, ń or 中 fall outside 0–127, so UTF-8 encodes them across 2 to 4 bytes. An emoji such as 😀 takes 4 bytes (32 bits).
- UTF-8 is backward compatible. Any plain English character encodes identically in ASCII and UTF-8, which is why a converter set to either mode gives the same result for A–Z.
Common questions
How do I convert binary to text by hand?
Split the binary into groups of 8 bits, turn each group into a decimal number, then look that number up in the ASCII table. For example 01001000 is 72, which is the letter H. Do that for every group and join the characters.
What does each group of 8 bits mean?
Eight bits make one byte, and in ASCII one byte is exactly one character. A byte can hold any value from 0 to 255, which is why text converters chop the binary into 8-bit chunks before decoding.
Does the spacing between bytes matter?
No. 01001000 01101001 and 0100100001101001 both decode to Hi. Spaces or commas between bytes are only there for readability, so a decoder should accept the binary with or without separators.


