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

标签 java arrays character-encoding

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

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

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

我该如何创建相同的内容。另外,如果有人知道有关这些主题的良好引用资料,请分享。我正在使用 Java

最佳答案

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

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

关于java - 如何创建固定字节大小的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58235266/

相关文章:

java - Mockito 无效使用 Matchers 异常

r - R 中的非 ASCII 字符,从 .sav 文件中读取

php - 如何通过 php 检测和修复 mysql 数据库中的字符编码?

java - JSP中IF条件的使用

Java Pelops 和 Cassandra NoSQL DB : Can I Batch Delete Rows?

c - 内存实际上是如何查找 C 数组的?

arrays - 查找排序数组中结束值和起始值之差至多为 k 的最长连续子数组的长度

c++ - vector 类 C++ 的 pop_back 和删除

iphone - 如何解码 NSString 中的 html 编码字符?

java - heroku 使用什么版本的 Maven?