V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pointer
V2EX  ›  C

有没有大神知道这种 dat 文件 C++怎么读取

  •  
  •   pointer · 2017-05-02 08:47:03 +08:00 · 3549 次点击
    这是一个创建于 2788 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一个雷达数据。是.dat 结尾的文件,内容都是一些十六进制数据,现在尝试了几种编码读取,还是乱码。有木有大神知道怎么读取。有意义的是中间那些 16 进制数据。 http://7xn3wd.com1.z0.glb.clouddn.com/Screen%20Shot%202017-05-02%20at%208.37.05%20AM.png

    20 条回复    2017-05-02 17:59:06 +08:00
    Aalen
        2
    Aalen  
       2017-05-02 08:53:03 +08:00
    直接按二进制读吧? python 的 struct ?
    icemanpro
        3
    icemanpro  
       2017-05-02 08:55:05 +08:00
    二进制文件,只能与已有数据对比读。一般来说,会是重复相同的结构。
    linhua
        4
    linhua  
       2017-05-02 09:08:04 +08:00
    rock_cloud
        5
    rock_cloud  
       2017-05-02 09:10:26 +08:00   ❤️ 2
    “一般程序员不知道用什么扩展名时,都会用.dat ”
    bukip
        6
    bukip  
       2017-05-02 09:13:03 +08:00
    你这数据哪来的,找那的人问啊!

    费这功夫自己猜干吗?
    zhidian
        7
    zhidian  
       2017-05-02 09:13:39 +08:00
    楼上 +1。外,二进制有文字编码一说吗……你就 fread 都进来,然后直接取就行啊。(可能因大小端问题需要调整字节顺序)
    imn1
        8
    imn1  
       2017-05-02 09:14:03 +08:00
    既然知道是雷达数据,不知道数据结构么?
    zhujian198
        9
    zhujian198  
       2017-05-02 09:18:41 +08:00 via Android
    根据读取这个数据的程序,逆向调试分析格式内容。仅靠数据猜,爱因斯坦都猜不出来的
    yinflying
        10
    yinflying  
       2017-05-02 09:21:09 +08:00
    囧,这种你应该去找解码工具,一般公开的数据都是有相应的解码工具的,你这样猜。。。。。

    --------------
    yinflying 的个人网站: http://yinflying.top
    argc
        11
    argc  
       2017-05-02 09:25:11 +08:00
    怀疑是不是 dat 是加密过的数据啊 可以去问问给你 dat 的那个人
    araraloren
        12
    araraloren  
       2017-05-02 09:25:30 +08:00
    +1 猜是猜不出来的
    扩展名多半都是自己加的
    这文件的格式才是关键,意思是某个字节偏移存的是什么数据
    比如:第一个字节表示文件版本之类的
    P0P
        13
    P0P  
       2017-05-02 09:49:18 +08:00
    你需要知道文件内容的组织方式
    lrh3321
        14
    lrh3321  
       2017-05-02 10:10:43 +08:00
    “一般程序员不知道用什么扩展名时,都会用.dat ” + 1
    偶尔我还用 .bin 做扩展名。
    Leafove
        15
    Leafove  
       2017-05-02 10:13:17 +08:00
    “一般程序员不知道用什么扩展名时,都会用.dat ” + 1
    tilv37
        16
    tilv37  
       2017-05-02 10:14:04 +08:00
    先读取成 16 进制形式,然后问形成 dat 的那个人,是将数据通过什么(应用协议 /编码方式)形成的,然后参照文档做解码就行了。一般这种靠猜基本是猜不出来的
    Gron
        17
    Gron  
       2017-05-02 10:56:18 +08:00
    说不定是经过加密的呢
    tracyone
        18
    tracyone  
       2017-05-02 12:15:53 +08:00 via iPhone
    @Leafove 一般 windows 程序员
    jeffersonpig
        19
    jeffersonpig  
       2017-05-02 13:36:50 +08:00
    文件以什么后缀名结尾跟文件具体的数据格式是两码事。哪儿来的文件就问哪儿。
    bukip
        20
    bukip  
       2017-05-02 17:59:06 +08:00
    @lrh3321 我还用过 001 002
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3129 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:58 · PVG 20:58 · LAX 04:58 · JFK 07:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.