/def main/i
class NullsInString(Exception):
"""Nulls in string."""
_FILTER=''.join([(len(repr(chr(x)))==3) and chr(x) or '.' for x in range(256)])
def _dump(src, length=16):
result=[]
for i in xrange(0, len(src), length):
s = src[i:i+length]
hexa = ' '.join(["%02X"%ord(x) for x in s])
printable = s.translate(_FILTER)
result.append("%04X %-*s %s\n" % (i, length*3, hexa, printable))
return ''.join(result)
.
/print ""\.join((file_prefix, "/s/^/ /
i
try:
if attrs[attr_name].find('\0') >= 0:
raise NullsInString;
.
.+1a
except (UnicodeDecodeError, NullsInString):
print "".join((file_prefix, "%s:" % (attr_name,)))
print _dump(attrs[attr_name])
.
w