字符串数据类型占用了多少数据?

时间:2017-08-28 02:48:16

标签: javascript socket.io

非常简单的问题,字符串占用了多少数据(字节)?它们每个字符占用1个字节吗?

我试着搜索一下,但学校并没有说......

我想了解这一点,以减少我的网络应用中的带宽。

另外,对于任何知道的人,socket.io在使用socket.emit()时会自动json字符串化吗?

1 个答案:

答案 0 :(得分:1)

String是一个字符数组。因此,它现在将大约sizeof(char) * noOfCharacters忽略String类中的其他字段。字符可以是1字节或2字节,具体取决于系统,字符的类型 - unicode等。 但是,根据您的问题,您对通过网络传输的数据更感兴趣。请注意,数据始终以字节(byte[])进行交换,因此字符串将首先转换为byte []表示,然后移植。 要限制带宽使用,您可以启用压缩,选择可互操作的序列化技术(protobuf,smile,fastinfoset等)