蚊子清除保留mojibake主题

时间:2016-10-13 03:07:57

标签: unicode ascii mqtt mosquitto mojibake

由于我的崩溃程序,我发布了一个mojibake主题,���部分是一些随机字节代码,例如

test/���������������/yoyoyo qqq

如果我想清除它,我输入类似

的内容
mosquitto_pub -t test/���������������/yoyoyo -r -n

但是这没有用,因为这些�字符不是原始的�,这些编解码器在ascii和unicode中不匹配,因此以�字符出现。

如何在不删除整个保留文件的情况下清除这些保留消息?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果你无法弄清楚你可以捕获它们的实际字符,并用这样的东西将它们播放回mosquitto_pub:

mosquitto_sub -v -C 1 -N -t 'test/+/yoyoyo' > file.txt

这将保存文件主题和与模式匹配的第一条消息的有效负载。主题和paylaod之间会有一个空格。

然后,您可以编辑该文件以删除有效负载并仅留下主题(在其自身的一行上,最后没有新行)并将其另存为edited_file.txt

然后您可以将其反馈到mosquitto_pub,添加-n标志(空消息)和-r标志(保留消息)

mosquitto_pub -t `cat edited_file.txt` -r -n