字节数组转String

一、字节数组转String乱码

当将字节数组转换成String时,经常会出现乱码的情况。这是由于编码方式不一致导致的。需要在转换之前指定编码方式。例如,在将UTF-8编码的字节数组转换成String时,应该使用如下代码:

byte[] byteArray = {72, 101, 108, 108, 111, 32, -26, -106, -121, -25, -67, -92, -28, -72, -117};
String str = new String(byteArray, "UTF-8");
System.out.println(str); // "Hello 世界"

如果没有指定编码方式,则使用平台默认的编码方式。在不同的平台上,可能会有不同的默认编码方式,因此应该尽量避免使用默认编码方式。

二、字节数组怎么转String

将字节数组转换成String,可以使用String类的构造函数,如下所示:

byte[] byteArray = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
String str = new String(byteArray);
System.out.println(str); // "Hello World"

在此例中,将一个字节数组转换成了一个ASCII字符串。

三、字节数组转inputstream

将字节数组转换成InputStream,可以使用ByteArrayInputStream类,如下所示:

byte[] byteArray = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
ByteArrayInputStream inputStream = new ByteArrayInputStream(byteArray);
int data;
while ((data = inputStream.read()) != -1) {
    System.out.println((char) data);
}

在此例中,使用ByteArrayInputStream将字节数组转换成了InputStream,并按字节读取了数据并输出。

四、字节数组转int

将字节数组转换成int,可以使用ByteBuffer类,如下所示:

byte[] byteArray = {0x12, 0x34, 0x56, 0x78};
int num = ByteBuffer.wrap(byteArray).getInt();
System.out.println(num); // 305419896

在此例中,将一个字节数组转换成了一个int类型的数据。

五、字节数组转换成字符串

将字节数组转换成字符串,可以使用Base64编码,如下所示:

byte[] byteArray = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
String str = Base64.getEncoder().encodeToString(byteArray);
System.out.println(str); // "SGVsbG8gV29ybGQ="

在此例中,使用Base64编码将字节数组转换成字符串。

六、字节数组转16进制

将字节数组转换成16进制字符串,可以使用BigInteger类,如下所示:

byte[] byteArray = {0x12, 0x34, 0x56, 0x78};
String hexStr = new BigInteger(1, byteArray).toString(16);
System.out.println(hexStr); // "12345678"

在此例中,将一个字节数组转换成了一个字符串类型的16进制数。

七、字节数组转json

将字节数组转换成JSON格式,可以使用Jackson库,如下所示:

byte[] byteArray = {123, 34, 110, 97, 109, 101, 34, 58, 34, 74, 111, 104, 110, 34, 125};
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(byteArray);
System.out.println(node.get("name").asText()); // "John"

在此例中,将一个字节数组转换成了一个JSON对象,并按属性读取了其中的数据。

八、字节数组转为输入流

将字节数组转换成InputStream,可以使用ByteArrayInputStream类,如下所示:

byte[] byteArray = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
InputStream inputStream = new ByteArrayInputStream(byteArray);
int data;
while ((data = inputStream.read()) != -1) {
    System.out.println((char) data);
}

在此例中,使用ByteArrayInputStream将字节数组转换成了InputStream,并按字节读取了数据并输出。

九、字节数组转化为字符串

将字节数组转换成String类型的字符串,直接使用String类的构造函数即可:

byte[] byteArray = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
String str = new String(byteArray);
System.out.println(str); // "Hello World"

在此例中,将一个字节数组转换成了一个ASCII字符串。

十、字节数组转浮点数

将字节数组转换成浮点数,可以使用ByteBuffer类,如下所示:

byte[] byteArray = {63, -93, -23, -48};
float num = ByteBuffer.wrap(byteArray).getFloat();
System.out.println(num); // 0.12345679

在此例中,将一个字节数组转换成了一个float类型的数据。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/245280.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 13:08
下一篇 2024-12-12 13:08

相关推荐

  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • c# enum转换成string

    本文将从以下几个方面详细阐述c#中enum类型转换成string类型的方法及注意事项。 一、基本语法和示例 c#中的enum类型可以看作是一组有名字的常量值,通常用于定义一组相关的…

    编程 2025-04-29
  • Python二维数组对齐输出

    本文将从多个方面详细阐述Python二维数组对齐输出的方法与技巧。 一、格式化输出 Python中提供了格式化输出的方法,可以对输出的字符串进行格式化处理。 names = [‘A…

    编程 2025-04-29
  • Python中的字节类数据

    Python作为其中一个最广泛使用的编程语言之一,提供了多种数据类型来帮助开发者实现各种需求。在这些数据类型中,字节类数据(bytes)是一个被广泛使用的类型。本文将会从各个方面详…

    编程 2025-04-28
  • Java创建一个有10万个元素的数组

    本文将从以下方面对Java创建一个有10万个元素的数组进行详细阐述: 一、基本介绍 Java是一种面向对象的编程语言,其强大的数组功能可以支持创建大规模的多维数组以及各种复杂的数据…

    编程 2025-04-28
  • Python数组随机分组用法介绍

    Python数组随机分组是一个在数据分析与处理中常用的技术,它可以将一个大的数据集分成若干组,以便于进行处理和分析。本文将从多个方面对Python数组随机分组进行详细的阐述,包括使…

    编程 2025-04-28
  • Python数组索引位置用法介绍

    Python是一门多用途的编程语言,它有着非常强大的数据处理能力。数组是其中一个非常重要的数据类型之一。Python支持多种方式来操作数组的索引位置,我们可以从以下几个方面对Pyt…

    编程 2025-04-28

发表回复

登录后才能评论