在閱讀本書的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