website/content/research/progcomp/strings.md

17 lines
824 B
Markdown

---
title: Strings for ACM ICPC
---
## Character Codes
Character codes are mappings between numbers and symbols which make up a particular alphabet.
The *American Standard Code for Information Interchange* (ASCII) is a single-byte character code where $2^7 = 128$ characters are specified.
Symbol assignments were not done at random. Several interesting properties of the design make programming tasks easier:
- All non-printable characters have either the first three bits as zero or all seven lowest bits as one. This makes it easy to eliminate them before displaying junk.
- Both the upper and lower case letters and the numerical digits appear sequentially
- We can get the numeric order of a letter by subtracting the first letter
- We can convert a character from uppercase to lowercase by $Letter - "A" + "a"$