如何在java中将Protobuf ByteString转换为String

Din*_*r J 6 java protocol-buffers

谁能告诉我如何在java中将protobuf ByteString转换为String?

在我的情况下,我得到ByteString值为"\ 376\024\367".有没有办法从ByteString获得与String相同的方法?我的意思是当我使用System.out.println()在控制台中打印字符串值时,我应该得到\ 376\024\367.

非常感谢.

Ken*_*rda 14

通常,您使用将ByteString转换为String ByteString#toString(Charset).此方法允许您指定文本编码的字符集.如果是UTF-8,您还可以将该方法toStringUtf8()用作快捷方式.

但是,从您的问题来看,听起来您实际上想要使用C风格的三位八进制转义生成转义格式.AFAIK没有公共功能可以执行此操作,但您可以在此处查看代码.您可以将该代码复制到您自己的项目中并使用它.