当前位置:  开发笔记 > 编程语言 > 正文

从文件中读取字节后,大多数是正确的,除了1是错误的和否定的

如何解决《从文件中读取字节后,大多数是正确的,除了1是错误的和否定的》经验,为你挑选了1个好方法。

在Java中,我只是将文件读入ByteBuffer.当我开始检查以确保ByteBuffer包含正确的字节时,我注意到它主要有正确的开始和结束字节,除了第3个字节,它有-117而不是emacs所说的应该是139(hexb中为8b) -模式).是什么赋予了?这与Big/Little Endian有关吗?

为了清楚起见,根据emacs,前四个字节应该是:

1f:8b:08:00等于31 139 8 0

我的java得到:

31 -117 8 0

有任何想法吗?



1> Pavel Minaev..:

Java byte is signed, and therefore its range is -128..127 rather than 0..255. Taking that into account, your bytes are correct. If the unsigned value of the byte is X, signed one is (X - 256) - thus, for 139, the signed value is 139 - 256 = -117.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有