Files
esengine/packages/core/src/Utils/BinarySerializer.ts

26 lines
684 B
TypeScript
Raw Normal View History

import { strToU8, strFromU8, zlibSync, unzlibSync } from 'fflate';
/**
*
* 使zlib压缩JSON数据
*/
export class BinarySerializer {
/**
*
*/
public static encode(value: any): Uint8Array {
const jsonString = JSON.stringify(value);
const utf8Bytes = strToU8(jsonString);
return zlibSync(utf8Bytes);
}
/**
*
*/
public static decode(bytes: Uint8Array): any {
const decompressed = unzlibSync(bytes);
const jsonString = strFromU8(decompressed);
return JSON.parse(jsonString);
}
}