有谁能告诉我如何在java中将protobuf ByteString转换为String?
就我而言,我将ByteString值设为“\ 376 \ 024 \ 367”。有没有办法从ByteString获得与String相同的方法?我的意思是当我使用System.out.println()在控制台中打印字符串值时,我应该得到\ 376 \ 024 \ 367。
非常感谢。
答案 0 :(得分:12)
通常,您使用ByteString#toString(Charset)
将ByteString转换为String。此方法允许您指定文本编码的字符集。如果它是UTF-8,您还可以使用方法toStringUtf8()
作为快捷方式。
但是,从您的问题来看,听起来您实际上想要使用C风格的三位八进制转义生成转义格式。 AFAIK没有这方面的公共职能,但是you can see the code here。您可以将该代码复制到您自己的项目中并使用它。
答案 1 :(得分:-1)
我用http://doc.akka.io/japi/akka/2.3.7/akka/util/ByteString.ByteStrings.html
您将看到方法decodeString(java.lang.String charset)