当前位置: 首页 > 面试题库 >

如何在Java中将字符串与UTF8字节数组之间来回转换

羊舌胡非
2023-03-14
问题内容

在Java中,我有一个String,我想将其编码为字节数组(采用UTF8或其他某种编码)。另外,我有一个字节数组(采用某种已知的编码),我想将其转换为Java String。我如何进行这些转换?


问题答案:

String转换为byte []

String s = "some text here";
byte[] b = s.getBytes(StandardCharsets.UTF_8);

从byte []转换为String:

byte[] b = {(byte) 99, (byte)97, (byte)116};
String s = new String(b, StandardCharsets.US_ASCII);

当然,你应该使用正确的编码名称。我的示例使用了两种最常见的编码US-ASCII和UTF-8。



 类似资料:
  • 问题内容: 我有一个一维String数组,我想将其转换为一维字节数组。我该怎么做呢?这需要ByteBuffer吗?我怎样才能做到这一点?(字符串可以是任意长度,只想知道如何执行这样的操作。将其转换为字节数组后,如何将其转换回String数组? -担 问题答案: 数组到数组 ,应该 手动 将其转换为两边,但是如果只有一个String,则可以和; 像这样 对于string []中的一个字节[],您必须

  • 问题内容: 我有以下代码,我试图通过测试,但似乎无法理解Java世界中各种编码形式。 我想我的问题是:将任意字节的字节数组转换为Java字符串,然后将同一Java String转换为另一个字节数组的正确方法是什么,该字节数组将具有与原始字节相同的长度和相同的内容数组? 问题答案: 尝试特定的编码: ideone链接

  • 问题内容: 如何将Java字符串转换为ASCII字节数组? 问题答案: 使用该方法,为其指定适当的名称(或名称)。 例: (Java 7的前:)

  • 我得到一个错误读数:

  • 问题内容: 我有一个要加密的字节数组,然后转换为字符串,以便可以传输。当我收到字符串时,我必须将字符串转换回字节数组,以便可以对其进行解密。我检查了接收到的字符串是否与发送的字符串(包括长度)匹配,但是当我使用诸如str.getBytes()之类的东西将其转换为字节数组时,它与我的原始字节数组不匹配。 示例输出: 任何想法如何将接收到的字符串转换为与发送的字节数组匹配的字节数组? 谢谢 问题答案:

  • 问题内容: 我有一个char数组: 我目前的解决方案是 但是肯定有更好的方法吗? 问题答案: 不,该解决方案是绝对正确的,而且非常少。 但是请注意,这是一种非常不寻常的情况:因为是在Java中专门处理的,所以实际上甚至是一个。因此,在普通代码中不需要将拆分为单个s并将其重新连接。 将此与C / C 进行比较,在C / C 中,你的捆绑在一侧和另一侧以零字节结尾,并且由于传统方法而在它们之间进行了许