fix(mirror): ws 抓包 ToBase64 分块降到 8192,远离 apply 实参上限

- String.fromCharCode.apply 会把参数数组整包展开成实参,块过大必爆栈(V8 上限约 6.5 万);原 32768 虽安全但偏高,降到 8192
This commit is contained in:
TermiNexus committed 2026-10-11 20:49:41 +08:00
1 parent 245e27e192
commit c021d5c164
1 file changed
+3 -1
+3 -1
View File
@@ -37,7 +37,9 @@
}
function ToBase64(Bytes) {
var S = '';
var Chunk = 0x8000; // 分块,避免超长字符串参数
// 注意:String.fromCharCode.apply 会把参数数组整包展开成实参,块太大必然爆栈
//(V8 实参上限约 6.5 万)。这里每块 8192 字节,远低于上限,且比逐字节拼接快得多。
var Chunk = 0x2000;
for (var I = 0; I < Bytes.length; I += Chunk) {
S += String.fromCharCode.apply(null, Bytes.subarray(I, I + Chunk));
}