char []的大小是多少?

时间:2015-04-30 11:42:54

标签: java char size

我制作哈希算法,消息块为512位。 在C/C++我可以存储在char[64]中,但Java char占用2个字节。

问题:512位信息是char[32]还是char[64]

3 个答案:

答案 0 :(得分:6)

Char是16位的Java。因此char [32]应该足够512位。 我认为使用byte [64]更好,因为每个人都知道一个字节是8位而char [32]使代码更难读。你也不存储字符而是存储位。

答案 1 :(得分:1)

来自documentation

  

char :char数据类型是一个16位Unicode字符。它的最小值为'\ u0000'(或0),最大值为'\ uffff'   (或65,535包括在内)。

因此,为了存储512位,你应该有一个大小为32的数组。

答案 2 :(得分:1)

为什么要使用char[]

哈希值由byte组成,因此逻辑选择是使用byte[64]

数据类型char旨在用作字符而不是数字。