【问题标题】:Javascript: do extended ASCII characters take up more memory?Javascript:扩展的 ASCII 字符会占用更多内存吗?
【发布时间】:2013-11-13 17:18:01
【问题描述】:

我正在编写一个打包字典的例程,所以我需要搜索常见的字母组合并将它们替换为仅 1 个字符。

我已经用完了所有“正常”的 ASCII (

或者这些字符是否使用超过 1 个字节?我记得 UTF-8 有时使用 2 或 3 个字节来表示特殊字符。我所有的 javascript 文件都使用 UTF-8 编码。

所以问题是,ü、å、ê 是否使用与 u、a 或 e 相同数量的内存/磁盘空间?

【问题讨论】:

  • 是的,他们使用了额外的 8 位
  • 在大多数浏览器中,Javascript 是在 c 之上编写的。这篇博客解释了 c 如何处理扩展 ascii core.ecu.edu/csci/wirthj/Basen/asciiCode-c.html
  • @megawac 标题说“他们使用更多内存吗”,最后一句是“他们使用相同的内存吗”。如果有人回答“是”,这会让人感到困惑。

标签: javascript utf-8 ascii extended-ascii


【解决方案1】:

JavaScript 在内部使用 UTF-16 或 UCS-2。给定字符的内存量取决于特定 JavaScript 引擎实现中字符串的处理方式。可以肯定地说,每个字符至少使用 2 个字节。对于您列出的字符,每个字符将使用相同的 2 个字节。

参考:http://mathiasbynens.be/notes/javascript-encoding

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 2022-01-14
    • 2020-07-28
    相关资源
    最近更新 更多