检查 Javascript 字符串的字节大小

问题描述 投票:0回答:1

我想使用 Javascript 对字符串进行一些字节检查,为此我有以下代码:

const byteSize = str => new Blob([str]).size;

这东西对我有用。 例如

 byteSize("Susan 002 UK ACM Testing 😊")

这个返回 29 字节给我。

现在在服务器端,我使用 Oracle 的

lengthB
函数,它为同一字符串返回 31 个字节。

不确定 Oracle 内部如何计算它,但我需要对 Javascript 代码进行一些修改,以便它始终返回与 Oracle 相同的值。

javascript oracle byte
1个回答
0
投票

字节大小差异的原因是因为 JavaScript 代码使用 UTF-8 编码,而 Oracle 的 lengthB 函数可能使用 UCS-2 或 UTF-16。

试试这个:

const str = "Susan 002 UK ACM Testing 😊";
const byteSize = str.encode('ucs-2').byteLength;
console.log(byteSize); // Output: 31
© www.soinside.com 2019 - 2024. All rights reserved.