javascript - 如何确定 Javascript UTF-16 字符串的字节大小
问题描述
在 Firefox 插件中,我将冗长的字符串缓存到磁盘。我希望能够让用户了解这些字符串占用了多少字节的磁盘空间。
我了解 Javascript 将字符串存储为 UTF-16。如果将 UTF-8 字符串保存在变量中,则会将其转换为 UTF-16。所以确定字符串大小的 UTF-8 方法不会在这里做。
从这个参考:
它指出 的值string.length
实际上是 UTF-16 代码单元的数量,而不是字符的数量。
由此我推断以字节为单位的磁盘空间将只是string.length * 2
. 我正在寻找关于我的假设是否正确的确认。
编辑:
(对标题和原文进行了几处编辑。另外,以下内容:)
有人建议这是一个 JavaScript 字符串中多少字节的副本?. 但是,这并没有解决我的问题,因为它指的是获取 UTF-8 字符串的字符串大小的方法,但是 Javascript 在存储它们时会将 UTF-8 字符串转换为 UTF-16。例如,占用 3 个字节的 UTF-8 字符在转换为 UTF-16 时可能只使用 2 个字节(1 个 UTF-16 代码单元)。
解决方案
推荐阅读
- sql - SQL 报告:已添加具有相同键的项目
- javascript - 关闭弹出视频后如何暂停Html5视频?
- asterisk - 呼叫文件中的最长等待时间
- winapi - LVN_GETEMPTYMARKUP 字体
- android - 如何在 Xamarin.Forms Webview 中使用自签名证书处理 SSL 错误?
- asp.net-mvc - 如何将带有 Url.Action 的 html.TextBox 值发送到控制器操作方法输入参数?
- r - 使用 R 连接到 DynamoDB
- windows - Azure VM Windows Server 2016 键盘日语输入英语
- cplex - CPLEX 编程计数器跳过值
- operating-system - 我将如何为自己的内核制作设备驱动程序?