我在 Kafka 中有一个 KTable,当我调试时,我以字节为单位获取数据。
如果我想要它在字符串中,我该怎么办?我也附上了一个片段。
我在 Kafka 中有一个 KTable,当我调试时,我以字节为单位获取数据。
如果我想要它在字符串中,我该怎么办?我也附上了一个片段。
LinkedHashMap的key
是一个字符串。如果您在调试器中展开任何字符串,您将看到它的字节表示。
突出显示的“值”不是地图键的值,而是屏幕截图底部的值字段。
另外,您正在扩展拓扑构建器,这不是表中的实际值。如果要查看表中的数据,table.toStream().print()
就像是:
public static String byteArrayToHexString(byte[] rawBytes) {
final String HEXCHARS = "0123456789abcdef";
StringBuilder sb = new StringBuilder(rawBytes.length * 2);
for (int i = 0; i < rawBytes.length; i++) {
int ix = (rawBytes[i] >> 4) & 0xF;
sb.append(HEXCHARS.charAt(ix));
ix = rawBytes[i] & 0xF;
sb.append(HEXCHARS.charAt(ix));
}
return sb.toString();
}