Not an answer, but a weird finding....
I can make it extract data in the proper format by chaning a
simple toBinary(data) to:
toBinary(toString(toBinary(data)))
This seems like a hack to get around a false positive for
binary data in the original (since toBinary returns the original
value when it detects binary data).