Types 有人知道这种不常见的数据格式吗?

Types 有人知道这种不常见的数据格式吗?,types,Types,有人见过这种数据格式吗?我得到了大量的记录要从一个平面文件中导入,该文件包含某种压缩二进制格式的数字字段。我从上下文中知道它们代表数字,我有一些现有的翻译/解码,足以告诉我如何转换。最低顺序字节表示最低有效位,可能有符号编码。这里是解码的数字,然后是编码的字节和相应的位模式 0, 0c, 0000 1100 1, 1c, 0001 1100 2, b1, 1011 0001 3, 14, 0001 0100 4, 3c, 0011 1100 5, 2a, 0010 1010 6, 25, 001

有人见过这种数据格式吗?我得到了大量的记录要从一个平面文件中导入,该文件包含某种压缩二进制格式的数字字段。我从上下文中知道它们代表数字,我有一些现有的翻译/解码,足以告诉我如何转换。最低顺序字节表示最低有效位,可能有符号编码。这里是解码的数字,然后是编码的字节和相应的位模式

0, 0c, 0000 1100
1, 1c, 0001 1100
2, b1, 1011 0001
3, 14, 0001 0100
4, 3c, 0011 1100
5, 2a, 0010 1010
6, 25, 0010 0101
7, 40, 0100 0000
8, d0, 1101 0000
9, 91, 1001 0001
超出第一个字节的字节似乎包含两个值,从00到99似乎有100个映射,这里我只显示几个,首先是解码的数字对和十六进制值

00, 00, 0000 0000
01, 01, 0000 0001
02, 02, 0000 0010
03, 03, 0000 0011
04, dc, 1101 1100
05, 09, 0000 1001
06, c3, 1100 0011
07, 7f, 0111 1111
08, ca, 1100 1010
09, b2, 1011 0010
10, 10, 0001 0000
11, 11, 0001 0001
12, 12, 0001 0010
13, 13, 0001 0011
14, db, 1101 1011
15, da, 1101 1010
16, 08, 0000 1000
17, c1, 1100 0001
18, 18, 0001 1000
19, 19, 0001 1001
20, c4, 1100 0100
21, b3, 1011 0011
22, c0, 1100 0000
23, d9, 1101 1001
24, bf, 1011 1111
如果遇到000125,则结果为16。000000 C90C转换为350。如果我找到000000000000000f,它应该转换为0,但我不知道如何转换,0000ec应该得到-8

这里有足够多的重复模式,让我怀疑这是某种编码。我现在拥有的足够解码许多正数,但不是全部,我不知道如何处理负值,我不确定映射中是否丢失了信息(考虑ieee浮点格式)


有什么想法吗?谢谢

由于它既不使用传统的大型机格式,也不使用任何奇偶校验/纠错方案(计算设置位),因此我只能假设它在最近的历史中并不常见。可能有某种XOR操作被应用到这些旧格式中的一种,但如果是这样,它似乎没有遵循我可以检测到的模式

鉴于没有人见过这种格式,也没有人知道如何编写解码算法,我只想假设这是一种对数字进行加密的半生不熟的尝试。如果我能找到时间,我将编写一些代码来分析所有1亿个值,看看是否能找到任何有用的东西,但现在我只想等待,看看数据的创建者是否能够/将提供答案。或者一个线索


我要标记它的答案,因为我不想用无法解决的谜题折磨人们。如果有人感到失望,我很抱歉,我只是希望这是一种模糊的东西,这里的人以前可能见过。

这是一种基于数字频率的可变长度编码的压缩格式吗?我不认为它是压缩的,因为字段是固定宽度的,有些字段非常长,大约20字节。起初我以为它是二进制编码的十进制格式,或者类似的格式,但在四处查看之后,我找不到任何匹配的格式。它来自一家在20世纪50年代实现自动化的公司,因此我打赌它是一种旧格式,用于保存宝贵的字节,同时保持精度。如果您无法获得数据格式的确切规格,您怎么可能相信您正在导入的内容?客户端/提供者/源必须能够解释格式。当然,除非他们不知道你在干什么。这是为了执法/安全目的吗?你的描述不太清楚。这些表格的意思是什么,即0与
0c
和1与
1c
的关系如何,依此类推?你认为数据最终编码的是什么:一行行的数字、文本等等?@datagood:从我所处的位置来看,信任更多的是一个哲学问题。我只是想把一些旧数据放到一个可以访问的表单中。我最终会(几个月?几年?)从“老派”的来源中得到一些东西,但我喜欢比这更敏捷一点,因此我的问题是。