在Akka / Scala中获取ByteString的子串

时间:2016-03-08 00:04:05

标签: scala akka

我正在使用Akka来开发一个服务器应用程序,我想知道是否有一种“更清洁”的方法来获取ByteString的子字符串 - 类似

bytestr.getSubstringAtFor(int start, int len): ByteString

或类似的。现在我正在将ByteString转换为列表,创建另一个List[Byte],用for循环遍历它并将相关字节复制到我的新列表,然后将该字节列表转换回a ByteString

是否有“更清洁”的方法来获取ByteString的子字符串?

1 个答案:

答案 0 :(得分:4)

您应该能够使用slice获取一个连续的字节子集,其中包含一个包含起始索引的起始索引和一个独占的结束索引。例如,如果你有ByteString包裹字符串" foobar"并希望获得ByteString只是" oob"那会是这样的:

val bs = ByteString("foobar")
val subbs = bs.slice(1, 4)