"-6ren">
gpt4 book ai didi

java字节数组转换为字符串,但在不同的操作系统中结果不同

转载 作者:行者123 更新时间:2023-12-01 06:50:31 25 4
gpt4 key购买 nike

我有一个关于字节数组转换为字符串的问题,如下代码:

public static void main(String[] args) {

System.out.println("--->" + new String(new byte[5]) + "<---");
}

在 Windows 操作系统中结果:

--->    <---

在 Mac 操作系统中结果:

--->��������������������<---
为什么?大家都有这个问题吗?帮助...

最佳答案

您正在使用一个充满 \0 nul 字节的字节数组。

如何将其转换为字符取决于您使用的字符编码。就您而言,您尚未指定字符编码,因此它是操作系统上的默认字符编码,您可以预期,不同操作系统上的字符编码会有所不同。

简单的答案是,不要碰运气并指定您想要的字符编码。

 System.out.println("--->" + new String(new byte[5], "UTF-8") + "<---");

注意:您还有另一个问题,即不同机器上的字体会有所不同,但您无法从 Java 程序中控制控制台字体。

关于java字节数组转换为字符串,但在不同的操作系统中结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32326199/

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