В недавнем вопросе я спросил о самом быстром способе преобразования большого массива с нулевыми значениями в строку с разделителями. Моя причина была в том, что я хотел взять эту текстовую строку и передать ее (например, через HTTP) клиентам, написанным на других языках программирования. Строка чисел с разделителями - это то, с чем может легко работать любая клиентская программа. Тем не менее, было высказано предположение, что поскольку преобразование строк выполняется медленно, на стороне Python будет быстрее выполнять кодирование base64 в массиве и отправлять его в двоичном виде. Это действительно быстрее.
Мой вопрос сейчас таков: (1) как я могу убедиться, что мой закодированный массив NumPy хорошо подходит для клиентов на разных операционных системах и на другом оборудовании, и (2) как мне декодировать двоичные данные на стороне клиента. 1005 *
Для (1) я склонен сделать что-то вроде следующего
import numpy as np
import base64
x = np.arange(100, dtype=np.float64)
base64.b64encode(x.tostring())
Что-нибудь еще мне нужно сделать?
Для (2) я был бы рад иметь пример на любом языке программирования, где цель состоит в том, чтобы взять массив с плавающей точкой и превратить их в аналогичную собственную структуру данных. Предположим, что мы уже выполнили декодирование base64 и имеем байтовый массив, и что мы также знаем numpy dtype, размеры и любые другие метаданные, которые понадобятся.
Спасибо.