Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #38027
| From | Eric Sosman <esosman@comcast-dot-net.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: bit package |
| Date | 2018-02-17 07:14 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <p696af$tiv$1@dont-email.me> (permalink) |
| References | <bebd1080-35be-485d-ac9d-f7e2d4b361da@googlegroups.com> |
On 2/17/2018 3:33 AM, Philipp Kraus wrote:
> Hello,
>
> I'm building a network communication protocol for hardware-communication, so I need a bit representation of my dara like a C struct:
>
> struct
> {
> unint8 field1;
> unint16 field2;
> ...
> }
Aside: This approach won't always work, not even in C. (Think
padding bytes, endianness, ...)
> On my Java classes I have got int, long, ... so how can I create such bit structures?
> My first try is to use a BitSet and convert all datatypes manually, but is there a better possibility to create such bit sequences. I need a sending and receiving structure. I'm working with Java 9.
>
> I the best case I create an object like
>
> BitObject l_obj = new BitObject( 8, 16, 8, 32 );
> l_object.set(0, mybyte)
> l_object.set(1, myshort)
> l_object.set(2, mybyte)
> l_object.set(3, myint)
>
> and on reseiving
>
> BitObject l_obj = new BitObject( mybytearray_from_socket, 8, 16, 8, 32 );
> l_obj.get(0)
> l_obj.get(1)
> ...
>
> Can you suggest a library or anything for doing this?
It's not clear to me precisely what you're trying to do (the
semantics of l_object.set() are not obvious), but I think you might
find java.nio.ByteBuffer a good starting place.
--
esosman@comcast-dot-net.invalid
One thousand sixty-eight days to go.
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
bit package Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-02-17 00:33 -0800
Re: bit package Eric Sosman <esosman@comcast-dot-net.invalid> - 2018-02-17 07:14 -0500
Re: bit package Kiwi User <martin@mydomain.invalid> - 2018-02-17 12:40 +0000
Re: bit package Eric Sosman <esosman@comcast-dot-net.invalid> - 2018-02-17 08:16 -0500
Re: bit package Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-02-17 07:51 -0800
Re: bit package Arne Vajhøj <arne@vajhoej.dk> - 2018-02-17 11:11 -0500
Re: bit package Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-02-17 11:41 -0800
Re: bit package Arne Vajhøj <arne@vajhoej.dk> - 2018-02-17 14:55 -0500
Re: bit package Eric Sosman <esosman@comcast-dot-net.invalid> - 2018-02-17 11:12 -0500
Re: bit package Arne Vajhøj <arne@vajhoej.dk> - 2018-02-17 12:27 -0500
Re: bit package Daniele Futtorovic <da.futt.news@laposte.net> - 2018-02-17 20:55 +0100
Re: bit package Robert Klemme <shortcutter@googlemail.com> - 2018-02-17 16:23 +0100
Re: bit package Arne Vajhøj <arne@vajhoej.dk> - 2018-02-17 10:25 -0500
csiph-web