* Converts a charcode array to a string. * * @param {byteArray|Uint8Array} byteArray * @returns {string} * * @example * // returns "Hello" * Utils.byteArrayToChars([72,101,108,108,111]); * * // returns "你好" * Utils.byteArrayToChars([20320,22909]);
(byteArray)
| 667 | * Utils.byteArrayToChars([20320,22909]); |
| 668 | */ |
| 669 | static byteArrayToChars(byteArray) { |
| 670 | log.debug(`Converting byte array[${byteArray?.length}] to chars`); |
| 671 | if (!byteArray || !byteArray.length) return ""; |
| 672 | let str = ""; |
| 673 | // Maxiumum arg length for fromCharCode is 65535, but the stack may already be fairly deep, |
| 674 | // so don't get too near it. |
| 675 | for (let i = 0; i < byteArray.length; i += 20000) { |
| 676 | str += String.fromCharCode(...(byteArray.slice(i, i+20000))); |
| 677 | } |
| 678 | return str; |
| 679 | } |
| 680 | |
| 681 | |
| 682 | /** |
no outgoing calls
no test coverage detected