Unicode error in exefied Python script

Tim Daneliuk tundra at tundraware.com
Mon Jan 20 23:30:06 CET 2003


Martin v. Löwis wrote:
> Tim Daneliuk <tundra at tundraware.com> writes:
> 
> 
>>Exactly right - So when concatenating strings like I did above,
>>Python always promotes the result to the 'higher' type?
> 
> 
> Where 'higher' type means the two of the types which is the superset
> of the other, in some sense - yes. It is, however, questionable which
> of the types is supertype, here, since there are byte strings which
> cannot be converted to Unicode, and Unicode strings which cannot be
> converted to byte strings.
> 
> So for this situation, a special exception from this "always" rule is
> made: byte strings are promoted to Unicode strings when the two are
> combined.

Hmmm, I don't understand this last bit at all.  If this is how it works,
then why did my original example fail?  Win32 returned a Unicode string
which I concatenated w/ an ASCII string to produce a .. Unicode string.
Later, when I tried to concatenate a byte string to that new Unicode string,
the program failed - i.e., the byte string does not appear to get promoted...

-- 
------------------------------------------------------------------------------
Tim Daneliuk
tundra at tundraware.com





More information about the Python-list mailing list