Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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和Javascript中的字节数组表示不同?_Javascript_Java_Arrays_Encoding_Utf 8 - Fatal编程技术网

为什么Java和Javascript中的字节数组表示不同?

为什么Java和Javascript中的字节数组表示不同?,javascript,java,arrays,encoding,utf-8,Javascript,Java,Arrays,Encoding,Utf 8,我试图查看Java中的UTF-8字节,所有字节都是有符号的。因此,一个字节的范围是从-128到127。不过,在Javascript中,返回的值只是简单的整数。因此,它可以用小数表示,最大范围为255 因此,如果将两个结果都转换为1字节的十六进制表示形式,则它们将是相同的:F0 9F 91 8D 说到为什么java决定消除无符号类型,这是一个单独的问题。一个是有符号的,一个是无符号的。仍然是相同的二进制表示

我试图查看Java中的UTF-8字节,所有字节都是有符号的。因此,一个字节的范围是从-128到127。不过,在Javascript中,返回的值只是简单的整数。因此,它可以用小数表示,最大范围为255

因此,如果将两个结果都转换为1字节的十六进制表示形式,则它们将是相同的:
F0 9F 91 8D


说到为什么java决定消除无符号类型,这是一个单独的问题。

一个是有符号的,一个是无符号的。仍然是相同的二进制表示