gpt4 book ai didi

java - 如何在 Java 中将字符串表示的 ByteBuffer 转换为字节数组

转载 作者:行者123 更新时间:2023-11-30 08:20:42 28 4
gpt4 key购买 nike

我是 Java 的新手,我不确定如何执行以下操作:

某处的 Scala 应用程序将字符串转换为字节:

ByteBuffer.wrap(str.getBytes)

我将这个字节数组收集为一个 Java String,我希望做上面 Scala 代码所做的相反的事情,因此得到原始的 String (object str以上)。

ByteBuffer 作为 String 作为开始是我唯一的选择,因为我正在从 AWS Kinesis 流中读取它(或者是吗?) . Scala 代码也不应更改。

示例字符串:

String str = "AAAAAAAAAAGZ7dFR0XmV23BRuufU+eCekJe6TGGUBBu5WSLIse4ERy9............";

这在 Java 中如何实现?

编辑

好的,所以我将尝试详细说明该过程:

  1. 第 3 方 Scala 应用程序生成我需要使用的 CSV 行
  2. 在将这些行存储到 AWS Kinesis 流之前,应用程序对每一行执行以下操作:

    ByteBuffer.wrap(output.getBytes);
  3. 我从流中以字符串形式读取数据,该字符串可能如下所示:

    String str = "AAAAAAAAAAGZ7dFR0XmV23BRuufU+eCekJe6TGGUBBu5WSLIse4ERy9............";
  4. 我需要将上面的字符串的内容还原成其原始的、可读的形式;

我希望我现在说得更清楚了,很抱歉一开始就让你们感到困惑。

最佳答案

如果你想从 byte[]String,试试 new String(yourBytes)

getBytesString(byte[]) 都使用默认字符编码。


来自 Amazon Kinesis Service API Reference :

The data blob to put into the record, which is Base64-encoded when the blob is serialized.

您需要对字符串进行 base64 解码。使用 Java 8 它看起来像:

byte[] bytes = Base64.getDecoder().decode("AAAAAAAAAAGZ7dFR0XmV23BR........");
str = new String(bytes, "utf-8"));

其他选项:Base64 Encoding in Java

关于java - 如何在 Java 中将字符串表示的 ByteBuffer 转换为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25868574/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com