Is there a general method to crack this type of fractionating cipher? I've seen a few puzzles based on a type of cipher in which letters in the plaintext are substituted with groups of characters in the ciphertext.  The ciphertext only uses a handful of unique characters.  For example:

a -&gt; 154
b -&gt; 53
c -&gt; 12
d -&gt; 41
e -&gt; 153
...


In this example, bead is encoded as 5315315441.

Since not all letters are encrypted to have the same length, I can't simply break the message up into pairs of numbers and run frequency analysis.  Once the key is known, however, then the character boundaries are unambiguous.

Difficulties in cryptanalysis also arise when one letter's encryption completely contains another letter's encryption, such as how e 153 contains b 53.  For example, the following is unambiguous given knowledge of the key, yet might not be easy to for an attacker notice:

  4153 -&gt; db
154153 -&gt; ae


Let's say that I have a ciphertext, and I am reasonably sure that it is encoded in this way.  How would I go about cracking it?

The only thing I know to do is to look for repeating patterns, as repeating words in the plaintext also repeat in the ciphertext.  I haven't successfully solved one of these kinds of puzzles, however.
Known plaintext attacks and chosen plain-text attacks

The attack here is straightforward. If you have any known plain-text at all, you can find  codes for all the letters in the plain-text you have. You can then use this knowledge to decrypt other messages whose plain-text is unknown. 

A very small number of known plaintexts would completely compromise this scheme.

Ciphertext only attack

Each letter within a language has a certain probablity of occurring. In English, the letter "e" is the most frequently used letters. 

This wikipedia article gives a nice table of all the English letters and their frequencies.

The attack is fairly straightforward. Take a given cipher-text and build a frequency table for all one digit strings, two digit strings, three digits strings etc.

Then compare each string's relative frequencies compared to the table linked in the Wikipedia article. If there is a rough correspondence between a given sequence of digits and a given letter, substitute that sequence for the letter in question. 

Most of the time, the substitution will be valid and the plaintext will quickly fall in to view.