java中byte[]数组转字符串乱码问题

在学习IO流相关代码的时候发现一个问题,比如建一个大小为5的数组,如果数组中只有一个元素,转为字符串然后输出的时候,后面四个元素会默认为0然后出现乱码,有没有解决办法呢?
比如以下代码:

    public static void main(String[] args) throws Exception{
        byte[] bytes = new byte[5];
        bytes[0] = 97;
        System.out.println(new String(bytes));
    }

运行结果:

img

ASC字符就一个字节,第2行可改为new byte[1]

是你的开发环境 字符集的问题吧,改一下开发环境为UTF-8

你这是在哪里运行的? cmd还是IDE?