morse = [] morse.append(("0", "-----")) morse.append(("1", ".----")) morse.append(("2", "..---")) morse.append(("3", "...--")) morse.append(("4", "....-")) morse.append(("5", ".....")) morse.append(("6", "-....")) morse.append(("7", "--...")) morse.append(("8", "---..")) morse.append(("9", "----.")) morse.append((":", "")) morse.append((";", "")) morse.append(("<", "")) morse.append(("=", "")) morse.append((">", "")) morse.append(("?", "")) morse.append(("@", "")) morse.append(("A", ".-")) morse.append(("B", "-...")) morse.append(("C", "-.-.")) morse.append(("D", "-..")) morse.append(("E", ".")) morse.append(("F", "..-.")) morse.append(("G", "--.")) morse.append(("H", "....")) morse.append(("I", "..")) morse.append(("J", ".---")) morse.append(("K", "-.-")) morse.append(("L", ".-..")) morse.append(("M", "--")) morse.append(("N", "-.")) morse.append(("O", "---")) morse.append(("P", ".--.")) morse.append(("Q", "--.-")) morse.append(("R", ".-.")) morse.append(("S", "...")) morse.append(("T", "-")) morse.append(("U", "..-")) morse.append(("V", "...-")) morse.append(("W", ".--")) morse.append(("X", "-..-")) morse.append(("Y", "-.--")) morse.append(("Z", "--..")) def stringToCode(str): bob = 0 for item in str: if item == ".": bob = (bob << 1) else: bob = (bob << 1) | 1 return bob print "unsigned char morse[",len(morse),"][2] = {" for key,value in morse: print "{", len(value), ",", stringToCode(value), "}, // ", key print "};"