格式化包括非 ASCII 字符串的 Protobuf 消息

Ale*_*nov 7 java protocol-buffers

当 protobuf 消息包含具有非 ASCII 字符的字符串时,message.toString()返回类似

alarm {
  message: "\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265 \321\201\320\262\321\217\320\267\320\270 \321\201 mzta1."
}
Run Code Online (Sandbox Code Playgroud)

我更喜欢在日志中看到包含西里尔字符的字符串。有没有一种简单的方法可以做到这一点?

Ale*_*nov 3

从 2.5.0 开始,有TextFormat.printToUnicodeString.

  • 它已被弃用,因此请使用 TextFormat.printer().escapingNonAscii(false).printToString(messageHere); (2认同)