web-dev-qa-db-fra.com

Comment convertir Protobuf ByteString en chaîne dans java

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.

7
Dinesh Kumar J

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.

17
Kenton Varda