On Jan 10, 1:55 am, Carsten Haese <[EMAIL PROTECTED]> wrote: > On Wed, 2008-01-09 at 15:33 +0100, Fredrik Lundh wrote: > > When mixing Unicode with byte strings, Python attempts to decode the > > byte string, not encode the Unicode string. > > Ah, I did not realize that. I never mix Unicode and byte strings in the > first place, and now I know why. Thanks for clearing that up. >
When mixing unicode strings with byte strings, Python attempts to decode the str object to unicode, not encode the unicode object to str. This is fine, especially when compared with the alternative, so long as the str object is (loosely) ASCII. If the str object contains a byte such that ord(byte) > 127, an exception will be raised. When mixing floats with ints, Python attempts to decode the int to float, not encode the float to int. This is fine, especially when compared with the alternative, so long as the int is not humungous. If the int is huge, you will lose precision without any warning or any exception being raised. Do you avoid mixing ints and floats? -- http://mail.python.org/mailman/listinfo/python-list