javascript - javascript UTF-16 或 UTF-8 中的字符串编码
问题描述
在 MDN 中阅读charAt时,我发现 UTF-16 的 javascript 序列中的字符串?
因此,为了验证我的理解,我在 NodeJS 中尝试了以下脚本
Buffer.from("€").length // gives 3
这怎么可能是 3 个字节?据我所知,这应该是 2 或 4 个字节,UTF-16 字符串如何给出 3 个字节?
我在 StackOverflow 中查看了不同的问题,但没有找到这部分的解释。
解决方案
因为在创建一个Buffer.from
字符串时,它需要一个编码,如果你不指定一个,它默认为 UTF-8。
你似乎正在寻找
Buffer.from("€", "utf16le").length
要不就
"€".length * 2
推荐阅读
- dpdk - 使用 DPDK-basicfwd 示例如何将自定义数据包发送到所需端口
- javascript - 如何将 daterangepicker 日期放入下拉菜单?
- html - CSS中的过渡速度和顺序
- html - 确定 DOM 中的元素下方或上方是否有更多空间
- .net-core - “dotnet build”失败:“解决方案文件错误 MSB4249:无法构建网站项目”
- vue.js - 如何使用 Vue.js 插入带有 HTML 代码的文本
- python - 如何在 Python 中更新字典中的列表值
- google-cloud-firestore - Firestore 安全规则 - 可以通过数组保护 doc 包含来自另一个数组的任何值
- google-sheets - 如何匹配匹配值的格式?*谷歌表格
- flutter - Flutter Cupertino/Material 组合主题/共享字体家族