Java 如何存储到字节或字节数组中

Java 如何存储到字节或字节数组中,java,jakarta-ee,byte,tibco,Java,Jakarta Ee,Byte,Tibco,此消息来自外部系统,以字节形式出现, 我必须在Java代码中使用它。我把它当作一个字节,并转换成字符串 有谁能帮我接受它作为字节,而不是把它转换成字符串和字节 这是外部系统的输出,直到等于: wcLDxMXGx8jJ0fHy8/T1AHsSNFw= 我想将其存储在byte或byte[]中 我试过自己做,但它说错误在=。我只能将其作为字节使用,因为将其作为字符串,然后将其转换为字节,会有问题,而且不会像预期的那样。您可以使用该类(因为Java SE 6更新3): 代码: public static

此消息来自外部系统,以字节形式出现, 我必须在Java代码中使用它。我把它当作一个字节,并转换成
字符串

有谁能帮我接受它作为字节,而不是把它转换成字符串和字节

这是外部系统的输出,直到等于:

wcLDxMXGx8jJ0fHy8/T1AHsSNFw=

我想将其存储在
byte
byte[]

我试过自己做,但它说
错误在=
。我只能将其作为字节使用,因为将其作为
字符串
,然后将其转换为
字节
,会有问题,而且不会像预期的那样。

您可以使用该类(因为Java SE 6更新3):

代码

public static void main(String[] args) {
    String str = "wcLDxMXGx8jJ0fHy8/T1AHsSNFw=";
    byte[] array = DatatypeConverter.parseBase64Binary(str);
    System.out.println(Arrays.toString(array));
}
[-63, -62, -61, -60, -59, -58, -57, -56, -55, -47, -15, -14, -13, -12, -11, 0, 123, 18, 52, 92]
输出

public static void main(String[] args) {
    String str = "wcLDxMXGx8jJ0fHy8/T1AHsSNFw=";
    byte[] array = DatatypeConverter.parseBase64Binary(str);
    System.out.println(Arrays.toString(array));
}
[-63, -62, -61, -60, -59, -58, -57, -56, -55, -47, -15, -14, -13, -12, -11, 0, 123, 18, 52, 92]
你的问题中有一个“直到”,我把它翻译成一个条件
|b==“I”
。 你可能不是有意的。也许你用了
=
而不是
=

上面读取的int在文件结束时为-1,否则为字节值


try with resources语法确保关闭
externalSource
bai

外部系统似乎正在向您发送Base64编码数据。将其视为原始字节[]不会对其进行解码。是否要发表评论???