首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解码应用程序/八位字节流

解码应用程序/八位字节流
EN

Stack Overflow用户
提问于 2013-10-17 01:19:09
回答 2查看 29.6K关注 0票数 0

我对来自互联网的数据有一个问题。我有一个来自互联网的包,它的内容类型是:application/octet-stream。

我的问题是如何将其解码为可读的值(例如1,4.321,-2.6013等)?或者有没有可以做到这一点的应用程序?

例如:

3ecccccd是0.400 (http://gregstoll.dyndns.org/~gregstoll/floattohex/)有些是实数。07d0是2.000

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-17 05:23:55

HTTP的Content-Encoding头只适用于数据在HTTP消息本身内部的编码方式,而不适用于数据本身在HTTP之外的编码方式。在您的示例中没有HTTP头,因此Content-Encoding没有以任何方式对数据进行编码,而是按原样为您提供原始数据。

当HTTP的Content-Type报头为application/octet-stream时,这意味着数据(基于Content-Encoding解码后,如果有的话)是原始的8位数据,发送者不知道数据的实际类型。如果没有更有意义的Content-Type来告诉您数据实际表示的是什么,那么您唯一能做的就是分析原始数据,并对它可能是什么做出有根据的猜测,除非您通过其他方式知道数据应该是什么。

通常,二进制数据格式在数据的前面有一个头/签名来标识数据是什么,所以您可以从它开始。

在确定数据类型之前,您无法知道哪些字节表示哪种类型的值,多字节值使用什么字节顺序,等等。简而言之,您需要有关正在下载的数据的更多信息,以便了解如何处理它。

票数 6
EN

Stack Overflow用户

发布于 2013-10-17 01:30:43

该内容类型不指示任何编码。它的全部含义是数据表示一个(8位)字节流。它们是如何编码的是完全不同的事情。要发现编码,您可以查看其他标头(如Content- encoding ),或者编码可能是隐式的,在这种情况下,您需要查阅文档。然后在此基础上选择合适的解码策略。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19409703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档