Try this:
private string ascii2ais(string p)
{
StringBuilder sb = new StringBuilder();
char[] chars = p.ToCharArray();
foreach (char c in chars)
{
int i = Convert.ToInt32(c);
i -= 48;
if (i>40)
{
i -= 8;
}
string sixBit = Convert.ToString(i, 2).PadLeft(6, '0');
sb.Append(sixBit + " ");
}
return sb.ToString();
}
This should do the trick. At least I tried that 14eG is translated to '000001 000100 101101 010111'