Python API's: sql.Binary() fix

Mate Birkas birkas at
Sun Feb 3 15:39:14 CET 2013


I may have found a bug in sql.Binary(). Here is the patch:

--- 2013-02-03 15:22:09.217186598 +0100
+++ 2013-02-03 15:23:34.613187703 +0100
@@ -119,7 +119,7 @@

 def Binary(data):
     """returns binary encoding of data"""
-    return ''.join([hex(ord(i))[2:] for i in data]).upper()
+    return ''.join(["%02X" % ord(i) for i in data])

 def DateFromTicks(ticks):
     """Convert ticks to python Date"""

The hex() built-in returns three character string for integers lower than
15. This combined with the original code's [2:] results in corrupt string
representations of binary objects having bytes with these values.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the developers-list mailing list