Strings

Okay, let’s store some words.

A series of characters (letters, punctuation, etc.) is called a string.

We already know one way to store a series of things—arrays. But how can an array store characters instead of numbers?

Easy. Let’s define a mapping between numbers and characters. Let’s say “A” is 1 (or 0000 0001 in binary), “B” is 2 (or 0000 0010 in binary), etc. Bam. Now we have characters.

This mapping of numbers to characters is called a character encoding. One common character encoding is “ASCII”. Here’s how the alphabet is encoded in ASCII:

A: 01000001                   S: 01010011                  k: 01101011
B: 01000010                   T: 01010100                  l: 01101100
C: 01000011                   U: 01010101                  m: 01101101
D: 01000100                   V: 01010110                  n: 01111110
E: 01000101                    W: 01010111                  o: 01101111
F: 01000110                    X: 01011000                  p: 01110000
G: 01000111                    Y: 01011001                   q: 01110001
H: 01001000                   Z: 01011010                   r: 01110010
I: 01001001                     a: 01100001                   s: 01110011
J: 01001010                    b: 01100010                   t: 01110100
K: 01001011                    c: 01100011                    u: 01110101
L: 01001100                    d: 01100100                   v: 01110110
M: 01001101                   e: 01100101                    w: 01110111
N: 01001110                    f: 01100110                     x: 01111000
O: 01001111                    g: 01100111                    y: 01111001
P: 01010000                   h: 01101000                   z: 01111010
Q: 01010001                   i: 01101001
R: 01010010                    j: 01101010

You get the idea. So since we can express characters as 8-bit integers, we can express strings as arrays of 8-bit numbers characters.

Practice Link

Below is a bit of practice on searching through strings using a pattern and a text.  It goes through one of the more basic algorithms.  See if you can solve the problem.  Then check their naive solution and watch the video describing the algorithm.  This serves as good practice.

https://www.geeksforgeeks.org/naive-algorithm-for-pattern-searching/