我正在将文件读入字节数组,但是字节数组有一些我想删除的尾随 0(返回没有 0 的新字节数组)。但是字节数组不是一个简单的东西,所以我不能在它上面使用过滤器/删除/映射。
是对字节数组使用递归的唯一解决方案吗?
谢谢!
您应该能够对字节数组使用序列操作:
(byte-array (take-while pos? (.getBytes (slurp "some/binary/file.dat"))))
Clojure 中的字节数组是一个序列,而过滤器、映射和其他函数对序列起作用。
您可以使用此函数删除尾随零:
(defn pos-byte-arrayE
[seq]
(take-while pos? seq))
您可以在字节数组上使用过滤器来删除所有零。
(defn pos-byte-arrayF
[seq]
(filter pos? seq))
repl-test.core=> (pos-byte-arrayF [1 2 3 0])
(1 2 3)