如何在java中将Protobuf ByteString转换为字符串

如何在java中将Protobuf ByteString转换为字符串,java,protocol-buffers,Java,Protocol Buffers,有人能告诉我如何用java将protobuf ByteString转换成字符串吗 在本例中,我得到的ByteString值为“\376\024\367”。有没有办法从ByteString中获得与字符串相同的内容?我的意思是,当我在控制台中使用System.out.println()打印字符串值时,我应该得到\376\024\367 非常感谢。我用过 您将看到方法decodeString(java.lang.String字符集) 否则请参见通常,您需要使用将ByteString转换为字符串。此方法

有人能告诉我如何用java将protobuf ByteString转换成字符串吗

在本例中,我得到的ByteString值为“\376\024\367”。有没有办法从ByteString中获得与字符串相同的内容?我的意思是,当我在控制台中使用System.out.println()打印字符串值时,我应该得到\376\024\367

非常感谢。

我用过 您将看到方法
decodeString(java.lang.String字符集)


否则请参见

通常,您需要使用将ByteString转换为字符串。此方法允许您指定文本编码的字符集。如果是UTF-8,也可以使用方法
toStringUtf8()
作为快捷方式


不过,从您的问题来看,听起来您实际上希望使用C风格的三位数八进制转义生成转义格式。好吧,没有公共职能可以这么做,但是。您可以将该代码复制到自己的项目中并使用它。

问题是关于Protobuf的ByteString,而不是Akka的ByteString。非常感谢@Kenton Varda。您的代码帮助我获得了所需的输出。但当我通过“/200”时,我遇到了一些问题。当我通过“\302s\207”时,输出为“\302s?”。这方面有什么帮助吗well@DineshKumarJ对不起,没有看到更多的代码,我真的不知道会出什么问题。