Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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_Parsing_Memory_Byte - Fatal编程技术网

在Java中,空格和换行符被视为字节吗?

在Java中,空格和换行符被视为字节吗?,java,parsing,memory,byte,Java,Parsing,Memory,Byte,我想编写一个提取Java文件字节数的方法 因此,编译器将文件的每个字符存储在一个字节的内存中,但它是否也将空格、\n和\r存储在一个字节的内存中?我应该把它们包括在我的计算中吗 我到处都找不到具体的解释 我到处都找不到具体的解释 见 Java编程语言以16位序列表示文本 编码单元,使用UTF-16编码 这意味着,每个字符(包括新行和换行符)在内存中占用16位(2字节) 我到处都找不到具体的解释 见 Java编程语言以16位序列表示文本 编码单元,使用UTF-16编码 这意味着,每个字符(包括新行

我想编写一个提取Java文件字节数的方法

因此,编译器将文件的每个字符存储在一个字节的内存中,但它是否也将空格、
\n
\r
存储在一个字节的内存中?我应该把它们包括在我的计算中吗

我到处都找不到具体的解释

我到处都找不到具体的解释

Java编程语言以16位序列表示文本 编码单元,使用UTF-16编码

这意味着,每个字符(包括新行和换行符)在内存中占用16位(2字节)

我到处都找不到具体的解释

Java编程语言以16位序列表示文本 编码单元,使用UTF-16编码


这意味着,每个字符(包括新行和换行符)在内存中占用16位(2字节)。

空白始终是一个字符,从\n和\r到“”。因此,它们的存储方式与字符相同。因为在ASCII中它们都在255以下,所以我假设它们只是一个字节(我的理解是,基于ASCII的标准字符被表示为一个字节,即使是在Unicode中,因为它们的表示值很低,只保留一个字节;然而,任何大于255的字符最终都会是两个字节——或者更大,对于UTF-32来说)


话虽如此,如果您所说的新行或回车是来自对System.out.println()的调用,那么当您通过Java调用预定义方法时,它们将不会被存储(或者一次)。新行字符只需存储一次(在方法中)即可反复调用。Java无需存储该换行符的多个副本即可多次调用System.out.println()。

空格始终是一个字符,从\n和\r到“”。因此,它们的存储方式与字符相同。因为在ASCII中它们都在255以下,所以我假设它们只是一个字节(我的理解是,基于ASCII的标准字符被表示为一个字节,即使是在Unicode中,因为它们的表示值很低,只保留一个字节;然而,任何大于255的字符最终都会是两个字节——或者更大,对于UTF-32来说)


话虽如此,如果您所说的新行或回车是来自对System.out.println()的调用,那么当您通过Java调用预定义方法时,它们将不会被存储(或者一次)。新行字符只需存储一次(在方法中)即可反复调用。Java不需要存储该换行符的多个副本就可以多次调用System.out.println()。

是的,它们应该包括在计算中——特殊字符也是字符。另外,Java使用2个字节存储一个
char
),希望这有帮助

是的,它们应该包括在计算中——特殊字符也是字符。另外,Java使用2个字节存储一个
char
),希望这有帮助

由于16位对于每个Unicode字符都是不够的,因此其中一些字符占用两个2字节的代码单元。“…补充字符表示为16位代码单元对…”(您引用的文本上方的几行)。由于16位不足以容纳每个Unicode字符,因此其中一些字符占用两个2字节代码单元。“…补充字符表示为成对的16位代码单元…”(您引用的文本上方的几行。)