spring-stomp标头如何处理“:”

问题描述 投票:0回答:1

我将dateTime(例如:2020-03-20 13:56:57)放入spring-stomp标头中,如下所示:

map.put("messageTime","2020-03-20 13:56:57");
simpMessagingTemplate.convertAndSend("","",map)

这样的脚客户端:

stomp.subscribe("",(res)=>{
   let messageTime = res.headers.messageTime;
})
client result display:
messageTime:2020-03-20 13\c56\c57

“:”转换为“ \ c”,为什么?请帮助我,谢谢!

stomp spring-messaging
1个回答
0
投票

这是由于STOMP specification指出(强调我的意思:)>

C样式字符串文字转义符用于对在UTF-8编码的标头中找到的任何回车符,换行符或冒号

进行编码。解码帧头时,必须应用以下转换:
  • [\r(八位位组92和114)转换为回车(八位位组13)
  • [\n(八位位组92和110)转换为换行(八位位组10)
  • \c(八位字节92和99)转换为:(八位字节58)
  • [\\(八位字节92和92)转换为\(八位字节92)
© www.soinside.com 2019 - 2024. All rights reserved.