diff --git a/sockets/ws_hook.js b/sockets/ws_hook.js index 0bc3563..b570153 100644 --- a/sockets/ws_hook.js +++ b/sockets/ws_hook.js @@ -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)); }