我有一个protobuf对象,并希望将其二进制表示编码成base64(或其他文本编码),以传输到文本协议。最干净的方法是什么?
我有一个protobuf对象,并希望将其二进制表示编码成base64(或其他文本编码),以传输到文本协议。最干净的方法是什么?
byte[]
,然后使用Guava的BaseEncoding
类将这些字节编码为base64字符串:(转换为byte[]
),(Guava),(BaseEncoding
类)。String asBase64 = BaseEncoding.base64().encode(proto.toByteArray());
BaseEncoding.encodingStream()
返回的OutputStream
:proto.writeTo(BaseEncoding.base64().encodingStream(fileWriter));
java.util.Base64
。请参见encode(byte[])
和wrap(OutputStream)
。保留HTML标签。
String asBase64 = Base64.getEncoder().encodeToStrng(proto.toByteArray());
。同时查看.wrap(OutputStream)
。 - Joop EggenBase64
。 - dimo414