Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java数组输出混乱_Java_Arrays_String - Fatal编程技术网

Java数组输出混乱

Java数组输出混乱,java,arrays,string,Java,Arrays,String,摘自本网站: 为什么输出是: 潘卡吉 潘卡吉 我看不出这是怎么回事: 潘卡吉 806578756574 byte[]bytes构造函数将解析包含的数据,正如@khelwood所说,数字是字母的ASCII表示形式,因此80表示一个“p”字符 如果您想要您想要的输出,您应该使用 String[] srtArray = {"P","A"...} String[] srtArray = {"80","65"...} 在{'p','A'…}的情况下,它们已经被编码,但是数字将被转换,因为它们被表示为数字

摘自本网站:

为什么输出是:

潘卡吉

潘卡吉

我看不出这是怎么回事:

潘卡吉

806578756574

byte[]bytes构造函数将解析包含的数据,正如@khelwood所说,数字是字母的ASCII表示形式,因此80表示一个“p”字符

如果您想要您想要的输出,您应该使用

String[] srtArray = {"P","A"...}
String[] srtArray = {"80","65"...}
在{'p','A'…}的情况下,它们已经被编码,但是数字将被转换,因为它们被表示为数字而不是字符串。80与80不同。

请尝试以下代码:

public class ByteArrayToString {
  public static void main(String[] args) {
        byte[] byteArray = { 'P', 'A', 'N', 'K', 'A', 'J' };
        byte[] byteArray1 = { 80, 65, 78, 75, 65, 74 };

        String str = new String(byteArray);
        String str1 = new String(byteArray1);

        System.out.println(str);
        for (byte b : byteArray1) {
            System.out.print(b);
        }
        //System.out.println(str1);
    }
}
程序输出

80与80不同。字符串构造函数接收字节数组并将其解释为字符。字节80代表字符“P”等。当您将字节数组转换为字符串时,ASCII码在引擎盖下使用。我有一个线索,就是这样。感谢您帮助我了解如何识别它。通常不鼓励只使用代码的答案。相反,在旁边贴一个深入的解释。
public class ByteArrayToString {
  public static void main(String[] args) {
        byte[] byteArray = { 'P', 'A', 'N', 'K', 'A', 'J' };
        byte[] byteArray1 = { 80, 65, 78, 75, 65, 74 };

        String str = new String(byteArray);
        String str1 = new String(byteArray1);

        System.out.println(str);
        for (byte b : byteArray1) {
            System.out.print(b);
        }
        //System.out.println(str1);
    }