Ash*_*ley 14 financial fix-protocol quantitative-finance
我对FIX-Protocol比较新.
FIX协议消息的分隔符有时会显示^和其他时间.维基百科的FIX协议说[SOH](< 十六进制的开头 >十六进制为0x01)是该字符.
请解释一下这个含义.
例如,FIX协议消息可以在视觉上表示为
8=FIX.4.4^9=122^35=D^34=215^49=CLIENT12^52=20100225-19:41:57.316^56=B^1=Marcel^11=13346^21=1^40=2^44=5^54=1^59=0^60=20100225-19:39:52.020^10=072^
Run Code Online (Sandbox Code Playgroud)
要么
8=FIX.4.4|9=122|35=D|34=215|49=CLIENT12|52=20100225-19:41:57.316|56=B|1=Marcel|11=13346|21=1|40=2|44=5|54=1|59=0|60=20100225-19:39:52.020|10=072|
Run Code Online (Sandbox Code Playgroud)
那么使用^ over |的确切区别是什么?
是否还使用了其他分隔符.不清楚为什么[SOH](0x01)适合^或|
它可能是数字之一.
MP2*_*P24 15
分隔符SOH = ASCII代码01是不可打印的字符.查看消息的二进制表示(例如,在十六进制编辑器视图中),您将看到该字符为0x01.为了显示消息,似乎有些人使用|和使用^很少使用的字符,因此是一个很好的分隔符.
使用|字符只是为了视觉上的方便,比阅读更容易^A
cat your.file.fix | tr '\01' '|' | less
Run Code Online (Sandbox Code Playgroud)
您可以轻松地将上述命令转换为自定义 shell 脚本以打开 FIX 会话文件
~/.bashrc
function fixlog {
cat $* | tr '\01' '|' | less
}
Run Code Online (Sandbox Code Playgroud)
然后简单地
fixlog your.file.fix
Run Code Online (Sandbox Code Playgroud)