У меня есть двоичный файл, некоторые поля которого закодированы как BCD (Binary Coded Decimal).Пример как показано ниже.
14 75 26 58 87 7F (необработанные байты в шестнадцатеричном формате).
Я использую (np.void, 6) для чтения и преобразования из двоичного файла, а ниже:выходной я получаю.
b '\ x14 \ x75 \ x26 \ x58 \ x87 \ x7F'
Но я бы хотел получить вывод как '14752658877', без символа заполнения 'F', используя numpy.
Ниже приведен код: с открытым (имя файла, "rb") как f:
while True:
chunk = f.read(chunksize)
if (chunk):
dt = np.dtype([('a','b'), ('b', '>i4'), ('c', 'S15'),('d', np.str, 7),
('e', 'S7'), ('f', np.void, 6)])
x = np.frombuffer (chunk, dtype=dt)
print (x)
else:
break
Кроме того, входной файл содержит много двоичных записей фиксированной длины.Каков эффективный способ конвертировать и хранить его как файл ascii, используя numpy.