An ASCII string will not work. If you convert 32894 to an ascii string you will have five bytes, but you need four. In my original post I showed the C program I used to convert any 32-bit number to 4 bytes.
Feb 2, 2022, 10:16 by python-list@python.org: > I applaud trying to find the right solution but wonder if a more trivial > solution is even being considered. It ignores big and little endians and just > converts your data into another form and back. > > If all you want to do is send an integer that fit in 32 bits or 64 bits, why > not convert it to a character string in a form that both machines will see > the same way and when read back, convert it back to an integer? > > As long as both side see the same string, this can be done in reasonable time > and portably. > > Or am I missing something? Is "1234" not necessarily seen in the same order, > or "1.234e3" or whatever? > > Obviously, if the mechanism is heavily used and multiple sides keep reading > and even writing the same memory location, this is not ideal. But having > different incompatible processors looking at the same memory is also not. > > -----Original Message----- > From: Dennis Lee Bieber <wlfr...@ix.netcom.com> > To: python-list@python.org > Sent: Wed, Feb 2, 2022 12:30 am > Subject: Re: Data unchanged when passing data to Python in multiprocessing > shared memory > > > On Wed, 2 Feb 2022 00:40:22 +0100 (CET), Jen Kris <jenk...@tutanota.com> > > declaimed the following: > > > >> >> >> breakup = int.from_bytes(byte_val, "big") >> > > >print("this is breakup " + str(breakup)) > >> >> > > >Python prints: this is breakup 32894 > >> >> > > >Note that I had to switch from little endian to big endian. Python is > >little endian by default, but in this case it's big endian. > >> >> > > Look at the struct module. I'm pretty certain it has flags for big or > > little end, or system native (that, or run your integers through the > > various "network byte order" functions that I think C and Python both > > support. > > > > https://www.gta.ufrj.br/ensino/eel878/sockets/htonsman.html > > > > > > >However, if anyone on this list knows how to pass data from a non-Python > >language to Python in multiprocessing.shared_memory please let me (and the > >list) know. > > > > <pondering>MMU cache lines not writing through to RAM? Can't find > > anything on Google to force a cache flush</pondering> Can you test on a > > different OS? (Windows vs Linux) > > > > > > > > -- > > Wulfraed Dennis Lee Bieber AF6VN > > wlfr...@ix.netcom.com http://wlfraed.microdiversity.freeddns.org/ > > -- > > https://mail.python.org/mailman/listinfo/python-list > > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list