Quelqu'un pourrait-il me faire savoir comment convertir protobuf ByteString en chaîne en java?
Dans mon cas, j'obtiens la valeur ByteString comme "\ 376\024\367". Existe-t-il un moyen d'obtenir la même chose que String à partir de ByteString? Je voulais dire que lorsque j'imprime la valeur de chaîne dans la console à l'aide de System.out.println (), je devrais obtenir\376\024\367.
Merci beaucoup.
Normalement, vous convertissez un ByteString en une chaîne en utilisant ByteString#toString(Charset)
. Cette méthode vous permet de spécifier dans quel jeu de caractères le texte est encodé. S'il s'agit de UTF-8, vous pouvez également utiliser la méthode toStringUtf8()
comme raccourci.
D'après votre question, cependant, il semble que vous souhaitiez réellement produire le format d'échappement en utilisant des échappements octaux à trois chiffres de style C. AFAIK il n'y a pas de fonction publique pour le faire, mais vous pouvez voir le code ici . Vous pouvez copier ce code dans votre propre projet et l'utiliser.