Converting ASCII to binary is a common task in computer programming. ASCII is a character encoding standard that assigns a unique number to each character. Binary, on the other hand, is a base-2 number system that uses only two digits, 0 and 1. Converting ASCII to binary involves converting each character to its corresponding binary value.
Conversion
Here's a step-by-step guide on how to convert ASCII to binary:
- Choose the ASCII character you want to convert to binary.
- Convert the ASCII character to its decimal value using an ASCII table.
- Convert the decimal value to binary using the division-by-2 method.
- Pad the binary value with leading zeros to make it 8 bits long (if necessary).
Example
Let's walk through an example to illustrate the process. Suppose we want to convert the ASCII character 'A' to binary.
- The ASCII value of 'A' is 65.
- To convert 65 to binary, we use the division-by-2 method. We divide 65 by 2 and get a quotient of 32 with a remainder of 1. We write down the remainder (1) as the least significant bit of the binary value. We then divide 32 by 2 and get a quotient of 16 with a remainder of 0. We write down the remainder (0) as the next bit of the binary value. We continue this process until we have 8 bits. The binary value of 65 is 01000001.
- Since the binary value we obtained in step 2 is already 8 bits long, we don't need to pad it with leading zeros.
| Quotient | Remainder | Binary Value |
|---|---|---|
| 1 | 1 | |
| 0 | 01 | |
| 0 | 001 | |
| 0 | 0001 | |
| 0 | 00001 | |
| 0 | 000001 | |
| 1 | 1000001 |
ASCII-Binary Table
Here's a table of the ASCII characters and their corresponding binary values:
| Character | Description | Decimal | Binary |
|---|---|---|---|
| 0 | Zero | 48 | 00110000 |
| 1 | One | 49 | 00110001 |
| 2 | Two | 50 | 00110010 |
| 3 | Three | 51 | 00110011 |
| 4 | Four | 52 | 00110100 |
| 5 | Five | 53 | 00110101 |
| 6 | Six | 54 | 00110110 |
| 7 | Seven | 55 | 00110111 |
| 8 | Eight | 56 | 00111000 |
| 9 | Nine | 57 | 00111001 |
| A | Capital A | 65 | 01000001 |
| B | Capital B | 66 | 01000010 |
| C | Capital C | 67 | 01000011 |
| D | Capital D | 68 | 01000100 |
| E | Capital E | 69 | 01000101 |
| F | Capital F | 70 | 01000110 |
| G | Capital G | 71 | 01000111 |
| H | Capital H | 72 | 01001000 |
| I | Capital I | 73 | 01001001 |
| J | Capital J | 74 | 01001010 |
| K | Capital K | 75 | 01001011 |
| L | Capital L | 76 | 01001100 |
| M | Capital M | 77 | 01001101 |
| N | Capital N | 78 | 01001110 |
| O | Capital O | 79 | 01001111 |
| P | Capital P | 80 | 01010000 |
| Q | Capital Q | 81 | 01010001 |
| R | Capital R | 82 | 01010010 |
| S | Capital S | 83 | 01010011 |
| T | Capital T | 84 | 01010100 |
| U | Capital U | 85 | 01010101 |
| V | Capital V | 86 | 01010110 |
| W | Capital W | 87 | 01010111 |
| X | Capital X | 88 | 01011000 |
| Y | Capital Y | 89 | 01011001 |
| Z | Capital Z | 90 | 01011010 |
| a | Small a | 97 | 01100001 |
| b | Small b | 98 | 01100010 |
| c | Small c | 99 | 01100011 |
| d | Small d | 100 | 01100100 |
| e | Small e | 101 | 01100101 |
| f | Small f | 102 | 01100110 |
| g | Small g | 103 | 01100111 |
| h | Small h | 104 | 01101000 |
| i | Small i | 105 | 01101001 |
| j | Small j | 106 | 01101010 |
| k | Small k | 107 | 01101011 |
| l | Small l | 108 | 01101100 |
| m | Small m | 109 | 01101101 |
| n | Small n | 110 | 01101110 |
| o | Small o | 111 | 01101111 |
| p | Small p | 112 | 01110000 |
| q | Small q | 113 | 01110001 |
| r | Small r | 114 | 01110010 |
| s | Small s | 115 | 01110011 |
| t | Small t | 116 | 01110100 |
| u | Small u | 117 | 01110101 |
| v | Small v | 118 | 01110110 |
| w | Small w | 119 | 01110111 |
| x | Small x | 120 | 01111000 |
| y | Small y | 121 | 01111001 |
| z | Small z | 122 | 01111010 |
See full ascii table here.
Sample Code
This code requires @ilihub/code npm package to run.
import { AsciiToBinary } from "@ilihub/code";
const ascii = "Hello World";
const binary = AsciiToBinary(ascii);
console.log(binary);
// Output
// 0100 1000 0110 0101 0110 1100 0110 1100 0110 1111 0010
// 0000 0101 0111 0110 1111 0111 0010 0110 1100 0110 0100
Top comments (0)