Re: [Pyobjc-dev] depythonify_c_value rejects non-ascii, non-unicode strings
Brought to you by:
ronaldoussoren
From: Glenn A. <gan...@ma...> - 2004-01-21 17:58:14
|
At 12:31 PM -0500 1/21/04, Bob Ippolito wrote: >If you want/need to exchange arbitrary data you're going to have to >explicitly put it in NSData. I would almost vote to *disable* the >str<->NSString bridge in PyObjC, or make it bridge NSData instead, >but that would just be terribly inconvenient for many people. What about doing both? If the conversion works, it creates an NSString. This will handle all the current ASCII cases as well as cases where the default encoding is explicitly set (and all the str's are handled accordingly). If the conversion doesn't work, it creates NSData. Obviously, this will push the error somewhere else, which may not be able to handle it any better, but at least there is a chance. (The current problem was doing something like "NSText insertText:", which would then fail with some other error, which might even be more confusing). I suppose a more general solution is to allow for custom conversion handlers that can be installed, but that seems to open another can of worms... (more like a 55 gallon drum) Another possibility is to just make the system default encoding be UTF8 instead of ASCII, but I'm guessing if that were a good idea it would have already been done (and would certainly cause other problems with "str is a collection of bytes", "no str is string of characters", "no, it's a desert topping"). Based on the number of google group hits on "+python +setdefaultencodings" these sorts of issues bite those using IDLE, etc... -- Glenn Andreas gan...@de... Theldrow, Blobbo, Cythera, oh my! Be good, and you will be lonesome |