Just to add on Tim Bakers excellent answer, There are actually recommendations on which **characters are ambiguous letters** so named since they may confuse users about whether they stand for a letter or a character. To quote an [earlier answer][1] I had posted sometime back 

> You can get the list of those characters from this [C code file on
> Pwgen.][2]
> 
> If you are not comfortable reading C code, the characters and the
> corresponding confusing numerals (and letters) are

    B = 8
    G = 6
    I = 1 = l (lowercase L)
    O = 0
    Q = D
    S = 5 
    Z = 2




  [1]: http://ux.stackexchange.com/questions/53341/are-there-any-letters-numbers-that-should-be-avoided-in-an-id/53345#53345
  [2]: http://pwgen.cvs.sourceforge.net/viewvc/pwgen/src/pw_rand.c?revision=1.9&view=markup