我将日期时间(例如:2020-03-20 13:56:57
)放入Spring STOMP标头中,如下所示:
map.put("messageTime","2020-03-20 13:56:57");
simpMessagingTemplate.convertAndSend("","",map)
STOMP客户端是这样的:
stomp.subscribe("",(res)=>{
let messageTime = res.headers.messageTime;
})
客户端结果显示如下:
messageTime:2020-03-20 13\c56\c57
:
转换为\c
。为什么?
这是由于STOMP specification指出(强调我的意思:)>
C样式字符串文字转义符用于对在UTF-8编码的标头中找到的任何回车符,换行符或冒号
进行编码。解码帧头时,必须应用以下转换:
- [
\r
(八位位组92和114)转换为回车(八位位组13)- [
\n
(八位位组92和110)转换为换行(八位位组10)\c
(八位字节92和99)转换为:
(八位字节58)- [
\\
(八位字节92和92)转换为\
(八位字节92)