It consists of a string of digits representing survival counts, a slash, and another string of digits representing birth counts. Since there is a maximum of 8 neighbors, there is no need for separators between the digits.
For example: 23/3 means survival on 2 or 3 neighbors, birth on 3.
Since it is easy to forget which side is which, you can prefix a "B" to the birth list and an "S" to the survival list. B3/S23 is another common way of writing 23/3. The rules for placement of the B and S are relaxed, so that all of these will produce the same result: b3/23, 3/23s, 3b/23, B3/23s, etc.
I have, for now, focused on symmetrical rules only. Somehow, it seems less interesting to me to have patterns that work only when oriented a certain way. I promise I will get to them after I explore all 2101 non-totalistic rule combinations :-)
It turns out that for 1 neighbor there are 2 neighborhoods (corner or edge), 6 for 2 neighbors (opposite corners, same-side corders, opposite edges, same-corner edges, adjacent, and knight's-move). There are 10 for 3 neighbors, and 13 for 4 neighbors, and for 5, 6, and 7 neighbors, the situation is exactly the inverse of 3, 2, and 1, respectively. The total number of neighborhoods to keep track of: 51.
I decided to assign a letter to each unique neighborhood. I tried to make them mnemonic, but many of them are somewhat arbitrary anyway. My table is listed below.
To form a rule, put your string of letters after the appropriate digit.
For example, 2a34/3 means survival on 2 adjacent neighbors (a corner and an edge), or 3 or 4 neighbors, and birth on 3 neighbors.
These strings can get long, so it is possible to specify their inverse using a "-" between the digit and the letters.
For example, 12/2-a means survival on 1 or 2 neighbors, and birth on 2 neighbors, except when they are adjacent. (This is known as the "Just Friends" rule).