You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求识别2000年的自定义文本压缩算法(附输入输出样本)

压缩算法识别求助

我有一批经过编码压缩的文本文件,仅持有输出文件,不清楚使用的压缩算法,现寻求帮助识别该算法。目前已掌握该算法的以下特征:

  • 每个文件最多包含8行
  • 每行恰好包含123个字符(含空格)
  • 输出文件采用压缩方式存储
  • 输出文件以字节00 00开头,标识压缩数据的起始
  • 非重复字符以其ASCII值编码
  • 若某字符连续重复超过4次,编码格式为00+重复次数+重复字符,例如'A'重复5次时编码为00 05 41
  • 连续ASCII编码的字符数量需乘以4,放在每组编码的开头
  • 该算法复杂度较低,因为文件源自2000年

我拥有3000组输入输出对,以下为样本(用十六进制编辑器打开输出文件更清晰):

输入文本

SMESP LTFMLTVAPP0120450 F0   RA N41163100E028450700          Y071115           LTFMLTPA           YESILKOY APP RADAR       
SMESP LTFMLTVAPP0120500 K0   RA N41163100E028450700          Y116160           LTFMLTPA           YESILKOY APP RADAR       
SMESP LTFMLTVAPP0120700 K0   RA N41163100E028450700          Y071115           LTFMLTPA           YESILKOY APP RADAR      
SMESP LTFMLTVAPP0121100 K0   RA N41163100E028450700          Y071115           LTFMLTPA           YESILKOY APP RADAR      
SMESP LTFMLTVAPP0121250 F0   RA N41163100E028450700          Y296340           LTFMLTPA           YESILKOY APP RADAR       
SMESP LTFMLTVAPP0122475 T0   RA N41163100E028450700          Y071115           LTFMLTPA           YESILKOY APP RADAR       
SMESP LTFMLTVAPP0122575 T0   RA N41163100E028450700          Y296340           LTFMLTPA           YESILKOY APP RADAR       
SMESP LTFMLTVAPP0126425 T0   RA N41163100E028450700          Y                                    YESILKOY APP RADAR       

输出(十六进制)

00 00 BC 53 4D 45 53 50 20 4C 54 46 4D 4C 54 56
41 50 50 30 31 32 30 34 35 30 20 46 30 20 20 20
52 41 20 4E 34 31 31 36 33 31 30 30 45 30 32 38
34 35 9D 0C 30 37 30 00 07 20 1C 59 30 37 31 31
31 35 00 0B 20 B1 24 08 50 41 00 0B 20 48 59 45
53 49 4C 4B 4F 59 20 41 50 50 20 52 41 44 41 52
00 07 20 03 B5 07 57 B9 07 35 30 30 20 4B D7 12
01 31 31 36 31 36 C3 BF 07 83 B0 07 91 2F 83 B9
07 C3 6F 0F 43 64 0F CB BF 07 31 31 C3 BE 07 47
CA 1E 32 D7 1F 17 32 39 36 33 34 03 13 17 DB 6F
0F 32 34 37 35 20 54 83 6D 0F 4B BA 07 32 35 C3
6F 0F 43 64 0F 0F BA 07 36 34 32 00 24 20 43 B6
07

样本解析

  • 00 00:标识输出文件的起始
  • BC:对应十进制188,188/4=47,即连续ASCII编码的字符数量为47
  • 53 4D 45 …. 38 34 35:对应ASCII字符串SMESP LTFMLTVAPP0120450 F0 RA N41163100E02845
  • 9D 0C:待解析
  • 30 37 30:对应ASCII字符串“070”
  • 00 07 20:对应7个空格
  • 1C:对应十进制28,28/4=7,即连续ASCII编码的字符数量为7
  • 以此类推…

十六进制dump输出

hexdump -C -R 79058622o.bin
000000  00 00 bc 53 4d 45 53 50 20 4c 54 46 4d 4c 54 56  ..¼SMESP LTFMLTV
000010  41 50 50 30 31 32 30 34 35 30 20 46 30 20 20 20  APP0120450 F0
000020  52 41 20 4e 34 31 31 36 33 31 30 30 45 30 32 38  RA N41163100E028
000030  34 35 9d 0c 30 37 30 00 07 20 1c 59 30 37 31 31  45.070.. .Y0711
000040  31 35 00 0b 20 b1 24 08 50 41 00 0b 20 48 59 45  15.. ±$.PA.. HYE
000050  53 49 4c 4b 4f 59 20 41 50 50 20 52 41 44 41 52  SILKOY APP RADAR
000060  00 07 20 03 b5 07 57 b9 07 35 30 30 20 4b d7 12  .. .µ.W¹.500 K×.
000070  01 31 31 36 31 36 c3 bf 07 83 b0 07 91 2f 83 b9  .11616ÿ.ƒ°.‘/ƒ¹
000080  07 c3 6f 0f 43 64 0f cb bf 07 31 31 c3 be 07 47  .Ão.Cd.Ë¿.11þ.G
000090  ca 1e 32 d7 1f 17 32 39 36 33 34 03 13 17 db 6f  Ê.2×..29634...Ûo
0000a0  0f 32 34 37 35 20 54 83 6d 0f 4b ba 07 32 35 c3  .2475 Tƒm.Kº.25Ã
0000b0  6f 0f 43 64 0f 0f ba 07 36 34 32 00 24 20 43 b6  o.Cd..º.642.$ C¶
0000c0  07                                               .

[输入输出对应关系示意图]


内容的提问来源于stack exchange,提问作者Kamil B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 13:22:35