Javascript 共享内存| Node.JS+PHP | blocksize |删除尾随的“00”

Javascript 共享内存| Node.JS+PHP | blocksize |删除尾随的“00”,javascript,php,node.js,shared-memory,Javascript,Php,Node.js,Shared Memory,我使用共享内存在Debian9上的PHP和Node.JS进程之间提供数据。我用shmop_Open打开php上的内存块。该函数需要内存块的大小(以字节为单位)。由于块只创建一次,然后重复填充不同大小的数据,因此我选择了块大小,并使用少量缓冲区空间。这意味着块大小不能和数据大小一样大,因为它经常变化。使用shmop_write写入的数据类型为字符串btw 在Node.JS中,我使用模块shm类型的数组来访问shm。我使用shm.get键“Buffer”。之后,我使用toString'utf8'将其

我使用共享内存在Debian9上的PHP和Node.JS进程之间提供数据。我用shmop_Open打开php上的内存块。该函数需要内存块的大小(以字节为单位)。由于块只创建一次,然后重复填充不同大小的数据,因此我选择了块大小,并使用少量缓冲区空间。这意味着块大小不能和数据大小一样大,因为它经常变化。使用shmop_write写入的数据类型为字符串btw

在Node.JS中,我使用模块shm类型的数组来访问shm。我使用shm.get键“Buffer”。之后,我使用toString'utf8'将其转换为字符串

问题是:shm.get读取整个共享内存,而不管实际使用了多少字节。所以我收到一个十六进制数,后面有很多00对。如果我把那个六边形转换成一个字符串,我会收到以前保存的数据,其中有很多空格?在它后面。我该怎么解决这个问题?我无法修剪生成的字符串,这使我猜测数据后面的空格不是真正的空格


提前感谢

我将从0切到delimter@dandavis什么样的分隔符?在用PHP保存数据之前,我应该自己创建一个并将其附加到字符串中吗?我将从零到字符串的第一个索引进行切片delimter@dandavis什么样的分隔符?在用PHP保存数据之前,我应该自己创建一个并将其附加到字符串中吗?