diff --git a/EXIF.py b/EXIF.py index 1999a55..19d6874 100755 --- a/EXIF.py +++ b/EXIF.py @@ -118,7 +118,7 @@ def main(args) -> None: value = data[field] try: if args.builtin_types: - logger.info('%s: %s', field, value) + logger.info('%s (%s): %r', field, type(value).__name__, value) else: logger.info('%s (%s): %s', field, FIELD_TYPES[value.field_type][2], value.printable) except: diff --git a/exifread/serialize.py b/exifread/serialize.py index ff52544..9889ea5 100644 --- a/exifread/serialize.py +++ b/exifread/serialize.py @@ -50,8 +50,8 @@ def convert_types(exif_tags: dict) -> dict: # Undefined elif code == 'U': - # These contain bytes represented as a list of integers - out = bytes(ifd_tag.values) + # These contain bytes represented as a list of integers, sometimes with surrounding space/null bytes + out = bytes(ifd_tag.values).strip(b' \x00') # Empty byte sequences or unicode values should be decoded as strings try: