Would that work for you? If so, here’s a long, detailed essay on the principles of building custom encoding systems, why CodeHS includes this unit, and how to approach it ethically and effectively.
In “Create Your Own Encoding,” you typically:
This paper defines a simple custom encoding scheme called "83-8" designed for educational programming exercises. It describes the encoding rules, provides encoding/decoding algorithms with pseudocode, gives worked examples, explains edge cases and error handling, and includes sample CodeHS-style answers and test cases.
Below are several example student encodings and how to decode them. Use these as model answers.
Example A — Decimal two-digit scheme (alphabet A–Z, space = 27) 83 8 create your own encoding codehs answers exclusive
Example B — Binary 5-bit scheme (A=00001 … Z=11010, space=11011)
Example C — Symbol pair scheme (2-symbol tokens)
Example D — Simple substitution shift (Caesar-like) using numbers
CodeHS Exercises: If you're looking for specific answers related to CodeHS exercises, I recommend checking the official CodeHS forums or help sections. Many times, students share their solutions or find help there. Would that work for you
Experimentation: Try creating your own encoding schemes. Experiment with different shifts, mappings, or even more complex algorithms.
Online Tools: There are various online tools and resources that can help you understand encoding and decoding techniques.
In the CodeHS assignment 8.3.8: Create Your Own Encoding , you are tasked with developing a custom text encoding scheme to represent uppercase letters (A-Z) and the space character using binary. Assignment Requirements Your scheme must be able to represent: Every capital letter A-Z (26 characters). The space character (1 character). Minimal Bits : You must use as few bits as possible for each character. Course Hero Key Logic: Determining the Bit Count To determine how many bits are needed, use the formula 2 to the n-th power is the number of bits. 2 to the fourth power
) only provide 16 unique combinations, which is not enough for 27 characters. 2 to the fifth power 32 unique combinations Concept of the Exercise In “Create Your Own
, which is sufficient to cover all 26 letters and the space. Example Encoding Scheme
A standard way to solve this is to assign each character a unique 5-bit binary code starting from Binary Code Encoding Example: "HELLO WORLD"
Using a simple sequential mapping, the phrase "HELLO WORLD" would be translated by replacing each letter with its 5-bit code. Final Binary String 0011100101011000110001111110101011001111100100110000011 Course Hero Extra Challenges
If you choose to extend your encoding to include lowercase letters (a-z), digits (0-9), and the period (.), you will need to increase your bit count to combinations) to accommodate the additional characters. CliffsNotes
ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 .,?!'\"-_~@#$%^&*+=/\\|"
def encode83(s):
block = 8
pad = '~'
res = ""
for i in range(0, len(s), block):
chunk = s[i:i+block]
chunk += pad * (block - len(chunk))
for ch in chunk:
if ch not in ALPHABET:
raise ValueError("Unsupported character")
res += ch # or map to index and pack numerically
return res
def decode83(encoded):
pad = '~'
res = ""
for i in range(0, len(encoded), 8):
chunk = encoded[i:i+8]
for ch in chunk:
if ch == pad:
continue
res += ch
return res
function decode83_8(encoded):
alphabet = [list of 83 symbols]
blockSize = 8
padding = '~'
output = ""
for i from 0 to len(encoded) step blockSize:
block = encoded[i : i+blockSize]
for ch in block:
if ch == padding:
continue
output += ch
return output
If using numeric block values:
for each numeric value:
digits = []
for k from 1 to blockSize:
digit = value % 83
value = value // 83
digits.prepend(alphabet[digit])
append digits to output, ignoring padding