java - 将一个 byte[] 附加到另一个 byte[] 的末尾

标签 java byte bytearray arrays

我有两个长度未知的 byte[] 数组,我只想将一个附加到另一个的末尾,即:

byte[] ciphertext = blah;
byte[] mac = blah;
byte[] out = ciphertext + mac;

我尝试过使用 arraycopy() 但似乎无法正常工作。

最佳答案

使用 System.arraycopy() ,类似以下的东西应该可以工作:

// create a destination array that is the size of the two arrays
byte[] destination = new byte[ciphertext.length + mac.length];

// copy ciphertext into start of destination (from pos 0, copy ciphertext.length bytes)
System.arraycopy(ciphertext, 0, destination, 0, ciphertext.length);

// copy mac into end of destination (from pos ciphertext.length, copy mac.length bytes)
System.arraycopy(mac, 0, destination, ciphertext.length, mac.length);

关于java - 将一个 byte[] 附加到另一个 byte[] 的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5368704/

相关文章:

java - 代码到接口(interface)原则是否适用于实体类?

Java 将 Int 转换为 Hex 并将其粘贴到字节数组元素中

java - 从文件中读取字节后,大多数是正确的,除了 1 是错误的和负的

c# - 在 Encoding.ASCII.GetString() 之后删除不可打印的值

c# - 在 C# 中将大文件读入字节数组的最佳方法?

c# - 当我读取 500MB FileStream 时出现 OutOfMemoryException

java - Tomcat 6/7,Java 8 : Can't compile JSP: [various types] cannot be resolved

java - Android导入项目报错

javascript - 在 HTML 中嵌入 PDF 字节数据

java - Kotlin - 类型与泛型返回类型和子类不匹配