相关疑难解决方法(0)

JavaScript字符串中有多少字节?

我有一个javascript字符串,当从UTF-8服务器发送时,大约500K.如何在JavaScript中说出它的大小?

我知道JavaScript使用UCS-2,所以这意味着每个字符2个字节.但是,它是否依赖于JavaScript实现?或者在页面编码或内容类型?

javascript string size byte

78
推荐指数
9
解决办法
9万
查看次数

如何有效地从字节中读取位?

我的工作,包括网页套接字和服务器(Node.js的)和客户端(浏览器)之间的数据使用自定义的数据交换(很简单)格式我设置了发送的项目.

我正在发送3位数据,因为我发送的项目都有8种可能性.数据格式如下所示:

            0          1
bit index   01234567 8901...
item        aaabbbcc cddd...
Run Code Online (Sandbox Code Playgroud)

目前,我正在解析字节中的项目,如下所示:

var itemA = bytes[0] >> 5;
var itemB = (bytes[0] >> 2) & 7;
var itemC = (bytes[0] & 3) << 1 | bytes[1] >> 7;
var itemD = (bytes[1] >> 4) & 7;
Run Code Online (Sandbox Code Playgroud)

就个人而言,这感觉太复杂了.问题是,这只是复杂的,因为我得到以字节为单位,这是8的倍数解析出的3位项目的数据我有位移,做与运算,因为8是不被3整除我有时甚至必须将两个字节的部分组合起来itemC.

将这些数据作为3位组而不是8位组读取会更有效.

我想出的是将所有字节到比特串用.toString(2),然后用.substring得到长度为3子串,并转换回了一些parseInt(bitString, 2),但我想这是不这样做的方式,因为字符串操作很慢,我实际上没有做任何与字符串相关的事情.

是否可以读取例如3的组中的位而不是从字节中解析它们?或者是否有更有效的方法来读取字节外的位?

javascript parsing byte bit-manipulation node.js

9
推荐指数
1
解决办法
8808
查看次数

标签 统计

byte ×2

javascript ×2

bit-manipulation ×1

node.js ×1

parsing ×1

size ×1

string ×1