所以我知道ASCII字符集的大小是256.但是如何向Java询问其默认字符集的大小?如果我想改变字符集怎么办?更改是否会影响Character和String的hashCode
函数?我正在尝试为Rabin-Karp创建一个哈希函数,我想使用
preModHash = preModHash*BASE+c.hashCode();//where c is a Character
实际上,因为每个char都有一个int值,我可以简单地执行
preModHash = preModHash*BASE+c;//where c is a char
答案 0 :(得分:0)
没有真正的"尺寸"为了一个字符集。还有一些有趣的选项,如最大的已知代码点。虽然说Charset
课程没有提供任何信息归属,但有点不幸。
但正如我上面所说的那样char
hashCode()
并不是真的很有趣:它在Java中总是一个16位的UTF-16代码单元,而值空间可能依赖于编码你总是可以期望低位具有最高的熵。