【发布时间】:2012-01-25 04:24:58
【问题描述】:
可能重复:
How many bytes in a JavaScript string?
String length in bytes in JavaScript
如何计算字符串中有多少位? 实际上我需要的是 JavaScript(V8) 字符串中有多少个八位字节(8 位字节)? 如果无法知道,这里有没有其他字符数据结构可以代替String?
更新:用于 UTF-8 编码
【问题讨论】:
-
你到底想完成什么?
-
我想将它作为http响应体发送回浏览器,我需要知道内容长度,我不想使用'http'模块。
-
取决于字符集和编码。如果它是 ASCII,作为 ASCII 传输,那么每个字符一个字节。如果它是作为 UTF-8 传输的 Unicode,那么……你需要做一些计算!
-
我不了解 node.js,但原则上 JS 字符串本身没有编码(嗯,实际上它在内部被处理为 UTF-16,但这可能无关紧要)。在将字符串序列化为八位字节流时,您需要选择一种编码。您需要告诉浏览器您选择的编码,通常使用适当的 HTTP 标头。
-
我明白了,所以当我将String写入套接字时,默认为UTF-8,我该如何计算这种编码的八位字节数?
标签: javascript string node.js