在阅读本书的Java字节流的,我偶然看到这个例子书中使用,以显示两者之间的差异。使用的示例是数字199.根据该书,如果将此编号写入字符流,则将其写入三个不同的字符:0x31 0xC7 0x39。但是,如果将其写入字节流,则将其写入单个值0xC7。我的疑问是,199不适合Java中的一个字节。那么,它不应该被写成两个字节而不是一个?在二进制流中是否写成1个字节或两个字节?在字节流混乱
Q
在字节流混乱
0
A
回答
1
如果你打电话OutputStream.write(int)
,这是写入单个字节的方法,它会忽略除了低8所有位。这意味着199
和-57
将以完全相同的方式写入。对于特定的方法,这是它的工作方式,因为它只能写一个字节。
如果你叫一些其他的方法,它将不同的方式工作。例如,DataOutputStream.writeInt
将一个整数写成四个字节,因为这就是该方法的用途。
相关问题
- 1. C#UTF-8字节混乱
- 2. 检查字节码指令混乱?
- 3. 混乱的程序流程
- 4. 斯卡拉流混乱
- 5. 字混乱算法
- 6. 混乱在F#
- 7. 混乱在C#
- 8. 阵营JS单向数据流混乱
- 9. iOS Touch ID工作流程很混乱
- 10. 字符编码混乱!
- 11. 新的关键字混乱
- 12. 密封关键字混乱
- 13. 角和节点混乱变量
- 14. 混乱了在C++
- 15. 字符串修改混乱在PHP
- 16. Tcpip监听套接字SSL流非常混乱
- 17. 混乱查询
- 18. iPhone NSTimeZone:localTimeZone混乱
- 19. 的ModelForm混乱
- 20. 计算混乱
- 21. 混乱与FILEIO
- 22. convertToNodeSpace混乱
- 23. pySpark toRowMatrix混乱
- 24. EDK SDK混乱
- 25. 先行混乱
- 26. USPS API混乱
- 27. MVC混乱(笨)
- 28. self.bounds混乱
- 29. MacPorts的混乱
- 30. IndexPath混乱
为了这些目的,一个字节是无符号的,所以它在'0-255' – khelwood
字节在Java中签署的范围,不是吗?它如何被无签名? – birraa
一个_byte_仅仅是8个数据位:你可以把它当作一个数字0和255之间,即使在Java'byte'类型会认为它是不同的。 – khelwood