Home > Software design >  Python: Convert data file format to string
Python: Convert data file format to string

Time:09-16

I have a file that has the following output when file command is run:

#file test.bin
#test.bin : data

#file -i test.bin
#test.bin: application/octet-stream; charset=binary

I want to read the contents of this file and forward to a python library that accepts this read-data as a string.

        file = open("test.bin", "rb")
        readBytes = file.read()            # python type : <class 'bytes'>
        
        output = test.process(readBytes)   # process expects a string

I have tried str(readBytes), however that did not work. I see that there are also unprintable strings in the file test.bin, as the output of strings test.bin produces far lesser output than the actual bytes present in the file.

Is there a way to convert the bytes read into strings? Or am I trying to achieve something that makes no sense at all?

CodePudding user response:

Try to use Bitstring. It's good package for reading bits.

# import module
from bitstring import ConstBitStream

# read file
x = ConstBitStream(filename='file.bin')

# read 5 bits
output = x.read(5)

# convert to unsigned int
int_val = output.uint

CodePudding user response:

Do you mean by?

output = test.process(readBytes.decode('latin1'))
  • Related