gpt4 book ai didi

scala - 如何确定 Akka bytestring 是否包含给定的子字符串?

转载 作者:行者123 更新时间:2023-12-01 11:28:53 25 4
gpt4 key购买 nike

给定一个示例文本文件,如何使用 Akka ByteStrings 并将其转换为纯文本或在 ByteString 本身上运行“查找”?

            val file = new File("sample.txt")
val fileSource = SynchronousFileSource(file, 4096)
val messageStream = fileSource.map(chunk => sendMessage(chunk.toString()))
messageStream.to(Sink.foreach(println(_))).run

上面的“toString()”功能从字面上吐出一个包含文本“ByteString”的字符串,后跟表示为整数的字节。例如:

            chunk.toString() ==> "ByteString(111, 112, 119, 111)"

最佳答案

您可以使用 containsSlice 来查找子 ByteString。

scala> import akka.util.ByteString;
import akka.util.ByteString

scala> val target = ByteString("hello world");
target: akka.util.ByteString = ByteString(104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100)

scala> val sub = ByteString("world")
sub: akka.util.ByteString = ByteString(119, 111, 114, 108, 100)

scala> target.containsSlice(sub)
res0: Boolean = true

如果想将akka.util.ByteString转换成String,可以使用decodeString

scala> ByteString("hello").decodeString("UTF-8")
res3: String = hello

有关详细信息,请参阅文档:http://doc.akka.io/api/akka/2.3.13/index.html#akka.util.ByteString

关于scala - 如何确定 Akka bytestring 是否包含给定的子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32899525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com