У меня есть HashMap конвертированный в ByteArray на Java. Как мне ByteArray на питоне конвертировать в map на python и обратно?
Код конвертирования HashMap в ByteArray
public static void main(String[] args) throws Exception {
// Create raw data.
Map<Integer, String> data = new HashMap<Integer, String>();
data.put(1, "hello");
data.put(2, "world");
System.out.println(data.toString());
// Convert Map to byte array
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(data);
// Parse byte array to Map
ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
ObjectInputStream in = new ObjectInputStream(byteIn);
Map<Integer, String> data2 = (Map<Integer, String>) in.readObject();
System.out.println(data2.toString());
}
Можно попробовать найти парсер для продуктов Java Serialization API вроде этого. Но это звучит как очень плохая идея.
Для обмена данными между разными языками программирования используйте платформо- и языконезависимые форматы сериализации: XML, JSON, Protobuf, Thrift и.т.п.
import pickle
data = {
1: 'hello',
2: 'world'
}
byte_out = pickle.dumps(data)
data2 = pickle.loads(byte_out)
print(data)
Документация по модулю pickle
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости