> the server wants to get info a certain way. Each message has to start > with an ascii "STX" (literally the three letters, not the standart ascii > 'STX') then it has to have another four bytes that give the length of > the message, then the message itself, then end with an ascii "ENX" > (again,the three letters, not the ascii character "ETX" ). > > So here is where the biggest gap in my understanding is... how do i send > ascii characters ?
You can just send the string of characters or you could use the struct module to compose the byte string with more control. But in this case a simple string should suffice. > the docs say that if the password is not 24 bytes long, the other bytes > must be filled with null values. How do i do that ? What is a null > value? Check an ASCII table but I beliebe ASCII NULL is zero, so null = chr(0) should get you a null character. Or even use escape characters: null = '\x00 or even null = '\0' Then pad your string with target = 24 mystring = 'spam' padding = null * (target - len(mystring)-6) passwd = 'STX' + mystring + padding + 'ENX' > python strings are ascii already , right ? would this be as simple as > simply passing the string to the socket.send('pythonAsciiString') ? Yep, or you could specify UTF8 if you want to protect against any risk of Python becoming 16bit Unicode by default! :-) HTH, Alan G Author of the learn to program web tutor http://www.freenetpages.co.uk/hp/alan.gauld _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor