如何创建固定字节大小的字符串

时间:2019-10-04 11:10:06

标签: java arrays character-encoding

我需要发送一个空格或零序列,其大小为固定字节长度。我正在使用的内部框架负责按照编码将字符串转换为字节。简而言之,我需要创建一个给定长度的字符串。

我发现Java中的一个空格是两个字节,但是根据所使用的编码,它可能有所不同。我尝试了具有最小长度和最大容量的byte []的sureCapacity方法,但是将其转换为String时,即使字节数组的长度与我给出的最大容量相同,也没有填充零。

在尝试掌握字节,字符串,字符集,字节[],新String(byte []),编码,String.toBytes等的概念时,我有些困惑。

如何创建相同的内容。另外,如果有人对这些主题有很好的参考,请分享。我正在使用Java

1 个答案:

答案 0 :(得分:0)

通常,任何标准英语字符(假设您使用的是UTF-8,而您目前不使用)由1个字节的数据组成。这是因为一些更高级别的人决定了哪些字符占用了哪些字节以及应该如何显示它们。为了节省空间,他们为最常见的字符提供了单字节值。任何特殊字符(例如亚洲语言的符号)都会使用更多字节,具体取决于它们在字符定义中的位置。

要检查字符串有多少个字节,可以使用以下网站:https://mothereff.in/byte-counter 它将向您显示用于UTF-8中文本的字节数。如果您想从代码中检查它,可以将字符串转换为字节数组,并且应该具有相同的结果!