On 12/09/12 21:20, Aaron Pilgrim wrote:
Hello,
I am trying to write a small program that converts ascii to binary.


Can you explain what you mean by "ascii to binary"? Any of these
could be described that way:

'hello world'

=> '68656c6c6f20776f726c64'
=> 'begin 666 <data>\n+:&5L;&\\@=V]R;&0 \n \nend\n'
=> 'aGVsbG8gd29ybGQ=\n'
=> 'x\x9c\xcbH\xcd\xc9\xc9W(\xcf/\xcaI\x01\x00\x1a\x0b\x04]'

or many others.

For the record, those are:

* raw hex string
* uuencode
* base64
* zip compressed[1]


Reading ahead, I think you want the raw hex string, correct?


I tried using the python reference library section 18.8 but had
trouble understanding how to make it work.

  Here is the code I am currently trying to use:

def main():     
        import binascii

As a general rule, imports should go in the top-level of the module,
not inside the body of a function. There are exceptions to that
rule, but in this case there is no reason not to follow it. So:


import binascii

def main():
    # body of main without the import


        myWord = input("Enter the word to convert..") 
        #convert text to ascii
        for ch in myWord:
                print(ord(ch))          
                #convert ascii to binary
                binascii.a2b_uu(ord(ch))


There is no need to process the string one character at a time.
Try this instead:


import binascii

def main():
    line = input("Enter a line of text to convert: ")
    print(binascii.hexlify(line))


If you want to do it one character at a time, there's no need
for binhex:



def main():
    line = input("Enter a line of text to convert: ")
    for c in line:
        print("Char: '%c'  Ord: %3d (decimal) %x (hex)" % (c, ord(c), ord(c)))






[1] It is ironic that zip compression on a short string leads
to a *longer* string


--
Steven

_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to