fix(core): 移除TextEncoder依赖以兼容小游戏环境

This commit is contained in:
YHH
2025-10-28 11:51:57 +08:00
parent 9868c746e1
commit b410e2de47
2 changed files with 0 additions and 41 deletions

View File

@@ -672,36 +672,6 @@ export class IncrementalSerializer {
}
}
/**
* 计算增量快照的大小(字节)
*
* @param incremental 增量快照
* @param format 序列化格式,默认为 'json'
* @returns 字节数
*/
public static getIncrementalSize(
incremental: IncrementalSnapshot,
format: IncrementalSerializationFormat = 'json'
): number {
const data = this.serializeIncremental(incremental, { format });
if (typeof data === 'string') {
// JSON格式计算UTF-8编码后的字节数
// 使用 Blob 来计算浏览器和 Node.js 环境兼容的字节数
if (typeof Blob !== 'undefined') {
return new Blob([data]).size;
} else if (typeof Buffer !== 'undefined') {
return Buffer.byteLength(data, 'utf8');
} else {
// 回退方案:粗略估算(不精确,但可用)
return new TextEncoder().encode(data).length;
}
} else {
// 二进制格式直接返回Buffer长度
return data.length;
}
}
/**
* 获取增量快照的统计信息
*