我需要通过JRI将原始文件传递回Java,但它不支持原始文件,仅支持其他各种矢量类型(例如整数)。如何将原始(字节向量)转换为整数向量?

我尝试将数据作为字符串向量传回,但由于JRI无法正确解码字符串(例如'\x89'被丢弃为“”)而中断了。

如果效率更高(拆箱),也将很好。 as.integer不起作用-它不返回数组中字符的字节值,更不用说rawToChar为nuls产生“”的事实。

最佳答案

更进一步,您可以直接从原始载体读取Bin。所以我们可以:

> raw
[1] 2b 97 53 eb 86 b9 4a c6 6c ca 40 80 06 94 bc 08 3a fb bc f4
> readBin(raw, what='integer', n=length(raw)/4)
[1]  -346843349  -968181370 -2143237524   146576390  -188941510

关于r - 如何在R中将 `raw`转换为整数向量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7171565/

10-12 19:53