![](/img/trans.png)
[英]Trying to split a string in Java, containing newlines, !, spaces, ?, commas, etc
[英]Are spaces and newlines considered a byte in Java?
我想编写一种方法来提取Java文件的字节数。
那么,编译器将文件的每个字符存储在一个字节的内存中,但是它是否还在一个字节的内存中存储空格\\n
和\\r
? 我应该在计算中包括它们吗?
我在任何地方都找不到具体的解释。
空格始终是一个字符,从\\ n和\\ r到''。 因此,它们的存储方式与字符相同。 由于它们的ASCII码都在255以下,因此我假设它们只是一个字节(据我的理解,即使是Unicode,标准的基于ASCII的字符也被表示为单个字节,因为它们的表示值很低,无法保留一个字节;但是,大于255的结果最终将是两个字节-或对于UTF-32而言更大)。
话虽如此,如果您要谈论的新行或回车是从对System.out.println()的调用中获得的,则它们根本不会被存储(或一次?),因为您正在通过以下方式调用预定义方法Java。 新行字符只需存储一次(在方法中)即可一次又一次地调用。 Java不需要存储该换行符的多个副本即可多次调用System.out.println()。
是的,它们应该包含在您的计算中-特殊字符也是字符。 此外,Java使用2个字节存储一个char
:)希望这有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.