A few months ago I proposed a rewrite of my secret code pages because they’re a little disorganized and confusing for many people. It doesn’t help that I tacked on some extra content in places that it didn’t really fit. Anyway, I think it needs doing.

I’m going to post the drafts as blog posts before changing the originals. Please feel free to tell me if anything is confusing!

Here is my outline of what I’m planning, though I might change it as I go.

I’m going to keep the introductory page as it is. I’ll edit the summary after doing the rewrite. I don’t think there’s much point to changing that until I know how the whole set of pages will look.

This blog post contains two edited pages:

## Converting Words to Numbers

A first step in converting words to knitting (or other fiber arts) is to convert letters to numbers. An obvious way to do this is to assign a number to each letter. The simplest way to do this is to use decimal numbers, assigning A=1, L=12, and Z=26. This can produce nice results, and is most useful for the simple layout methods. (The somewhat more involved methods require using a zero at the beginning of the first 9 letters, so that A=01 and so on.)

If you don’t like the way the stitch patterns come out, you can translate the numbers into different numeral systems, or bases. These are ways of counting used in mathematics and computer programming, but it’s not necessary to understand them for code purposes. (I think this is a good explanation of bases.) I’ve provided a chart at the bottom of this post for numbers in base 10 down to base 6, as well as ASCII values. There are certainly other possibilities.

If I take the word *peace*, here are the different numbers produced by the different bases.

- base 10: 16 05 01 03 05
- base 9: 17 05 01 03 05
- base 8: 20 05 01 03 05
- base 7: 22 05 01 03 05
- base 6: 24 05 01 03 05

(the reason the last four letters are encoded the same way in each base is that they are clustered up at the beginning of the alphabet. If there were Ts or Ys or Os in *peace*, then the coding would look more variable.)

Another option is to use the numbers on a telephone keypad, though this would be a one-way cipher; it would be tricky for someone looking at the stitch pattern to turn it back into the original letters, even if you wanted them to.

Using this method, the word *peace* would be 73223.

Using ASCII values for letters also works. (And in fact, it comes with upper and lower case letters and punctuation.) Unicode values would allow the use of characters that aren’t used in the English alphabet. Finally, there are various more involved encryption techniques that also turn words into numbers.

The last way I’ve thought of to convert meaning to numbers (and my favorite) is to use the Dewey Decimal System—one of the methods librarians use to assign call numbers to books so they can be shelved according to their primary topic. The best resource for this (because it goes into the most detail) is the set of books that lists all the Dewey numbers in it. To use this, you’ll need to go to a library that uses Dewey for its call numbers; I recommend calling the library reference desk to find out if they have the books available for you to use.

A good backup system is to use WorldCat. Do a subject search for your meaning. If that doesn’t produce results, do a keyword search, and then pick a likely looking subject heading. On the detailed record page, look for the Dewey Decimal number for the books that come up. The one that appears most often is probably the Dewey Decimal number for your topic.

Finally, if you enjoy the idea of encryption, there are a number of techniques for putting words in secret code, which you could then further encode as knitting. See Further Resources for some suggested links.

### The Problem of Zero

Once you’ve generated numbers to use in your stitch patterns, you’ll be using those numbers to count stitches or squares on a grid. Counting to zero can be tricky. One option is to add one to every digit, so that 0 is 1, 5 is 6, and 9 is 10. Another option is to turn zero into ten. A third option is to ignore all zeros. Note that this last possibility will make your code one way: decryption will be nearly impossible, even for someone who knows the code.

### Letter Conversion Table

10 | 9 | 8 | 7 | 6 | ASCII | |
---|---|---|---|---|---|---|

A | 01 | 01 | 01 | 01 | 01 | 65 |

B | 02 | 02 | 02 | 02 | 02 | 66 |

C | 03 | 03 | 03 | 03 | 03 | 67 |

D | 04 | 04 | 04 | 04 | 04 | 68 |

E | 05 | 05 | 05 | 05 | 05 | 69 |

F | 06 | 06 | 06 | 06 | 10 | 70 |

G | 07 | 07 | 07 | 10 | 11 | 71 |

H | 08 | 08 | 10 | 11 | 12 | 72 |

I | 09 | 10 | 11 | 12 | 13 | 73 |

J | 10 | 11 | 12 | 13 | 14 | 74 |

K | 11 | 12 | 13 | 14 | 15 | 75 |

L | 12 | 13 | 14 | 15 | 20 | 76 |

M | 13 | 14 | 15 | 16 | 21 | 77 |

N | 14 | 15 | 16 | 20 | 22 | 78 |

O | 15 | 16 | 17 | 21 | 23 | 79 |

P | 16 | 17 | 20 | 22 | 24 | 80 |

Q | 17 | 18 | 21 | 23 | 25 | 81 |

R | 18 | 20 | 22 | 24 | 30 | 82 |

S | 19 | 21 | 23 | 25 | 31 | 83 |

T | 20 | 22 | 24 | 26 | 32 | 84 |

U | 21 | 23 | 25 | 30 | 33 | 85 |

V | 22 | 24 | 26 | 31 | 34 | 86 |

W | 23 | 25 | 27 | 32 | 35 | 87 |

X | 24 | 26 | 30 | 33 | 40 | 88 |

Y | 25 | 27 | 31 | 34 | 41 | 89 |

Z | 26 | 28 | 32 | 35 | 42 | 90 |

Next up: Basic layouts for encoded numbers

## Basic layouts: ribbing

These are two pretty straightforward ways of turning numbers into knitting. I’m sure there are other possibilities as well. There are two ways I’ve thought of to make ribbing from numbers. Neither of these requires the leading zero for the letters at the beginning of the alphabet. I’ll use the base ten numbers for peace for the ribbing: 16, 5, 1, 3, 5.

### Easier ribbing:

Please note that this is a very wide repeat, most usable for a blanket. Worked in finer yarns, it would be possible to make a hat or a sweater, but it needs a multiple of 60 stitches!

This involves alternating how many stitches to knit and then purl, using the numbers generated by the code. Since there are an odd number of letters in *peace*, the word is repeated twice before the pattern starts over.

Row 1: *k16, p5, k1, p3, k5, p16, k5, p1, k3, p5; work from *.

Row 2: *k5, p3, k1, p5, k16, p5, k3, p1, k5, p16; work from *.

Note for sequence knitters: these numbers might be fun to play with for you. I might particularly recommend using the telephone keypad method of turning letters into numbers. And if you’re reading this and haven’t tried sequence knitting, it’s good fun!

### Slightly more complex ribbing:

In this case, there will be one (p1, k1) column for each letter. The band of ribbing is the same number of rows as the largest number in the word, and the rib for each letter stops at the row with the same number as that letter. Depending on the height of the ribs, this might or might not be the best way to prevent curling.

Knit a swatch of this, at least 3 repeats, or 30 stitches wide, and then look at each side to see which you like best. This method is slightly more complex, but has a more useful number of stitches in each repeat.

Next up: charting numbers on a rectangular grid (like a piece of graph paper).

Whew. I hope that wasn’t too long for one post! In any case, I hope it’s an improvement, though it’s the later sections that need more help, I think. Please feel free to let me know if there’s anything here that’s confusing.