有谁知道如何计算字符串中的字节数?

时间:2011-07-26 21:02:52

标签: javascript string binary byte bits

如果我在JavaScript中有一个字符串,那么计算字符串占用的字节数或位数的最佳方法是什么?

我的第一个想法是,由于EcmaScript规范(5.1)在8.4中指出EcmaScript中的字符串元素由16位值组成,并且语言使用UTF-16字符编码,我应该得到它的Decimal表示( charCodeAt),将结果除以2,鲍勃是你父亲的兄弟。

但如果我要将每个字符转换为二进制(toString(2)),为了计算这些位,我是否计算0和1的?或者仅仅是1?

从我在网上看到的(信息稀疏),我认为它是这样的:

Math.floor("A".charCodeAt(0) / 2); // 32 bits... No?

2 个答案:

答案 0 :(得分:3)

嗯,如果字符串中的每个元素都是16位,那么字符串占用的位数不会是string.length * 16吗?

答案 1 :(得分:2)

  

@Charlie所以01000001只是8位?凉。你能把它变成一个   回答所以我可以投票吗?

确切地说,见下文。

如果有人要求你计算这些位,你需要计算0和1。请记住,“位”是信息内容的衡量标准。因此,如果您有一个信息内容为16位的字段,这意味着有2 ^ 16种可能的配置,其中您当前的配置只有一个。您的位串是这些配置之一,但您需要使用零来判断是否来自其他16位配置。 - 查理马丁昨天

  

另外,你知道有什么好书吗?   这个?我是自学成才(直到明年大学)。 :) - 汤姆昨天

老实说,我不这样做。我用谷歌搜索了一些,我不断学习如何打开计算机的东西,这些东西你已经清楚地掌握了。您可以尝试Think like a Computer Scientist