首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java中基于字节的(反序列化)?

Java中基于字节的(反序列化)?
EN

Stack Overflow用户
提问于 2011-08-01 06:31:35
回答 3查看 219关注 0票数 0

我想尝试滥用Java类作为结构,为此,我想知道是否有可能将字节数组序列化为类,而另一种方式则相反。

所以如果我有这样的课:

代码语言:javascript
运行
AI代码解释
复制
public class Handshake
{
    byte command;
    byte error;
    short size;
    int major;
    int ts;
    char[] secret; // aligned size = 32 bytes
}

是否有一种简单的方法(不需要手动读取字节并填写需要3倍多代码的类)来将反序列化一组字节到这个类?我知道Java没有结构,但我想知道是否可以简化序列化过程,所以它可以自动完成。字节不是来自Java的序列化程序,它们只是从C structs.派生的对齐字节

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-01 06:46:55

字节不是来自Java的序列化程序,它们只是从C结构派生的对齐字节。

馊主意。一旦有人在不同的平台上编译该代码,使用不同的编译器或设置等,它就会中断。

更好的方法是:使用标准化的二进制接口,并在Java和C++中实现,比如ASN.1或谷歌的协议缓冲器

票数 2
EN

Stack Overflow用户

发布于 2011-08-01 06:38:09

您可以编写一个库来使用反射进行反序列化。这可能导致需要更多的代码,但可能适合您的需要。在Java16位(而不是8位)中,字符不值钱,而char[]是一个单独的对象,与C语言不同。

简而言之,您可以编写一个库,它可以在不接触握手类的情况下读取数据。只有您才能决定这是否比在握手类中添加一两个方法更容易。

票数 0
EN

Stack Overflow用户

发布于 2011-08-01 07:34:54

别那么做!我迟早会分手的。使用一些二进制序列化格式,如Hessian格式,它同时支持java和C++ (我不知道在普通C上有什么工作)

还请记住,C不强制int或long的大小,它们依赖于平台。因此,如果您必须使用C,并且您被迫编写自己的库,请非常小心。

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

https://stackoverflow.com/questions/6899943

复制
相关文章
css中绝对定位_绝对定位和相对定位怎么用
bottom属性描述时,以首屏页面左下角为参考点 如果浏览器不动,滚动条动的时候,红色盒子跟随页面动,红绿盒子间距不变。
全栈程序员站长
2022/11/17
2.7K0
css中绝对定位_绝对定位和相对定位怎么用
【CSS】绝对定位元素设置 水平 / 垂直 居中 ( 绝对定位元素居中设置 - 先偏移 50% 再回退子元素一半尺寸 | 绝对定位居中设置 )
绝对定位 不能通过 设置 margin: auto; 样式的方式 , 设置盒子模型水平居中 ;
韩曙亮
2023/04/16
3.4K0
【CSS】绝对定位元素设置 水平 / 垂直 居中 ( 绝对定位元素居中设置 - 先偏移 50% 再回退子元素一半尺寸 | 绝对定位居中设置 )
【CSS】定位 ④ ( 绝对定位特点 | 相对定位不脱标示例 | 绝对定位脱标示例 )
如果 绝对定位 的元素 的 父级元素 没有定位 , 那么会 一直向上查找有定位的父级元素 , 直到浏览器 ;
韩曙亮
2023/04/16
1K0
【CSS】定位 ④ ( 绝对定位特点 | 相对定位不脱标示例 | 绝对定位脱标示例 )
水平滚动条
主要用到并排Div 的父级设置white-space: nowrap,并排的div设置display:inline-block;
tianyawhl
2019/07/16
2.6K0
杂谈一:前端设置绝对定位后滚动条失效的解决办法
问题 微信小程序开发中为父元素设置背景图,子元素不能滚动 公共css样式 <style> .fu{ background:url("https://xxx.png"); width:100%; height:100vh; background-size: 100% 100%; background-repeat: no-repeat; z-index: -999; position: fixed; } .zi{ width:70%; height:
用户8988577
2022/12/27
2K0
[iOS] WSHorizontalPickerView 图片水平滚动封装
之前这篇文章传送门本来是记录自己练手的demo的,后来很多人来问我要代码。今天就抽时间封装了一下,没有考虑太多情况,等我有空再去仔细考虑吧。
wOw
2018/09/18
3K0
绝对定位下的盒模型
元素被绝对定位,那么元素将会脱离正常流(normal flow),并依据包含块来定位。包含块的概念及其判定可以看这里。 在负margin的应用一文中,我们提到了一个对于任意一个块元素所形成的框的尺寸的计算公式:   BoxWidth = MarginLeft + BorderLeftWidth + PaddingLeft + ContentWidth + PaddingLeft + BorderRightWidth + MarginRightWidth; 但是在含有绝对定位元素的包含块内,包含块的尺寸却不能
欲休
2018/03/15
8650
WPF 让 TextBox 支持水平滚动
超级简单的方法,只需要设置 HorizontalScrollBarVisibility 可见就可以了
林德熙
2022/08/12
9840
css绝对定位与相对定位结合使用_css定位方法
绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。 相对定位是一个非常容易掌握的概念。如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。—(w3cSchool)
全栈程序员站长
2022/11/16
1.2K0
有意思的水平横向溢出滚动
最近接到一个很有意思的需求,能否做到当内容横向溢出时,依然能够使用鼠标滚轮对内容进行滚动的方法。
Sb_Coco
2022/09/28
2.6K0
有意思的水平横向溢出滚动
绝对定位多个字居中显示的css
在工作中遇到一种情况,例如把一个div元素绝对定位到一个位置,但是该元素中的文字个数不确定,还要保证始终该文字是居中显示,则可以定义两个div,外层div绝对定位并加一个宽度,内层div居中 .box03 .percent { position: absolute; right: 31%; top: 12%; width: 100px; font-family: arial;
蓓蕾心晴
2018/04/12
1.6K0
【CSS】定位 ⑤ ( 子元素绝对定位 父元素相对定位 | 代码示例 )
此时就要求父容器必须稳定 , 如果父容器使用了 绝对布局 , 父容器就不会保留位置 ,
韩曙亮
2023/04/16
2K0
【CSS】定位 ⑤ ( 子元素绝对定位 父元素相对定位 | 代码示例 )
CSS 定位布局 - 相对、绝对、固定三种定位
文档流,是指盒子按照html标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置。
Devops海洋的渔夫
2019/05/31
3.6K0
一种绝对提高开发水平的方法
如果做了多年开发的你发现自己的水平一直上不去,你可能要提高自己的英文水平了,英语就是你技术的瓶颈,对有些人可能是硬伤。
张果
2018/07/31
9.2K2
一种绝对提高开发水平的方法
一种绝对提高开发水平的方法
AntConc 使用工具软件可以把一本电子档中的单词全部提取出来,并分析其出现频率
IT小马哥
2020/03/18
5310
RecyclerView滚动到指定位置
1、mLayoutManager private void moveToPosition(int position) { if (position >= 0) { mLayoutManager.scrollToPositionWithOffset(3, 0); } } 2、LinearSmoothScroller mTopSmoothScroller = new TopSmoothScroller(getActivity()); priva
用户9854323
2022/06/25
1.8K0
vue css 滚动楼层导航定位
理解滚动图 左右结构 <template> <div> <div class="floor-nav"> <ul class="nav-list"> <li
solate
2021/03/05
3.1K0
vue css 滚动楼层导航定位
点击加载更多

相似问题

屏外绝对定位分区导致水平滚动

43

CSS:绝对定位元素导致滚动

130

水平滚动一个绝对定位的元素?

16

如何避免绝对定位div引起的水平滚动

14

负位置:绝对导致iPad上的水平滚动

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档