序列化 / 二进制格式

//using Node.js
//npm install avsc

class Data {
    public text: string
    public num: number
    public arr: number[]

    constructor(text: string, num: number, arr: number[]) {
        this.text = text
        this.num = num
        this.arr = arr
    }
}

let data = new Data("Hello"3.14, [257])
let filePath = "data.bin"

//Write Binary Data
const avsc = require('avsc')
const type = avsc.Type.forValue(data);
const data_b = type.toBuffer(data);

const fs = require("fs")
fs.writeFile(filePath, data_b, (err: Error) => {
        if (err) console.log("Error:", err)
})

//Read Binary Data
fs.readFile(filePath, (err: Error, data_b2: Int8Array) => {
        if (err) {
            console.log("Error:", err)
        } else {   
            const data2 = type.fromBuffer(data_b2)
            //Record

nbsp;{text: 'Hello', num: 3.14, arr: [2, 5, 7]}
            console.log("data2 is", data2)
        }
});