小编Ash*_*ley的帖子

FIX消息分隔符

我对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)适合^或|

它可能是数字之一.

financial fix-protocol quantitative-finance

14
推荐指数
2
解决办法
1万
查看次数

默认编码和更改

默认情况下,CharacterString使用UTF-16,但是,出于所有实际目的,在北美和大多数英语语言环境中,UTF-8就足够了(因为它可以达到4个字节).所以,如果我使用a InputStreamReader(InputStream),那它会给我默认的UTF-16 char编码吗?使用a InputStreamReader(InputStream, "UTF-8")将提供UTF-8编码,这足以达到我的目的.

如何在使用英语语言环境时自动将JVM的默认编码设置为UTF-8?目的是改善性能CharacterString操作(通过使用8位方案而不是16位编码,大多数ASCII使用8位编码覆盖,同时符合Unicode标准).

任何评论都表示赞赏.谢谢!

java unicode encoding utf-8

5
推荐指数
1
解决办法
1188
查看次数

用于网络和主机顺序的Java中的字节顺序转换

这个话题很简单,但我可能会在这里混淆一​​下.网络字节顺序是Big-Endian.默认情况下,Java也使用Big-endian(就像类文件一样).我的Windows机器使用Intel处理器,Little-Endian和Windows本身也使用Little-Endian.所以,如果我使用a java.nio.ByteBuffer.allocateDirect(),那么默认的Endianness是Little-Endian(因为OS和/或处理器),但是,如果我想在网络上发送这些数据,在读取数据时 ByteBuffer,我是否需要使用ByteBuffer.order(ByteOrder.BIG_ENDIAN)?另外,在从a Channel到a 读取数据时,我是否必须反向ByteBuffer?使用java.io包时我几乎忽略了它

问题的另一部分也与机器本身的工作有关.

  1. 我是否应该始终了解主机的Endianness?因此,无论使用何种本地数据存储格式,在本机环境中都可以,但在发送到网络时将数据转换为BIG_ENDIAN.
  2. 就Endianness而言,对于默认文件格式,比如在Windows上,它总是Little-Endian.但是,现在在MAC或具有Big-Endian的Linux上使用相同的文件,我应该使用字节顺序标记(BOM)保存吗?

java encoding network-programming endianness

3
推荐指数
1
解决办法
9607
查看次数

DirectoryStream.Filter用于列出基于特定日期/时间的文件的示例

我试图调查一个DirecoryStream.Filter示例newDirectoryStream,我可以在其中列出超过60天的目录(及其所有子目录)下的所有文件,作为示例.

DirectoryStream<Path> dirS = Files.newDirectoryStream(Paths.get("C:/myRootDirectory"), <DirectoryStream.filter>);

for (Path entry: dirS) {
    System.out.println(entry.toString());
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,应该是DirectoryStream.filter什么?
这将是一个很大的帮助,因为我正在一个项目,我试图删除早于某个时间戳和java-1.7 File.listFiles()之前的文件挂起.

可以Files.walkFileTree()提供一个选项吗?

java file-io nio2

3
推荐指数
1
解决办法
1万
查看次数