一个程序编写了这个数据文件 - 是否有可能告诉该程序编写的语言是什么?

时间:2012-07-18 15:23:42

标签: programming-languages

智力锻炼。我有一个文件,它包含结构化数据,其中一些是简单的文本 - 就像这样(文件名/扩展名没有帮助):

  

DB1< 80> ^ @¢^ O ^ @ ^ @ ^^^ @ ^ BX ^ A ^ @O¤< 97> CALCULA〜Calculatorÿÿf^ Q ^ @ ^ B] ^ A ^ A ^ K0ZERO   ÿÿÌ^ O ^ @ ^ B] ^ A ^ B ^B1ONEÿÿÌ^ O ^ @ ^ B] ^ A ^ C ^B2TWOÿÿÌ^ Q ^ @ ^ B] ^ A ^ D ^ D3THREE   ÿÿÌ^ P ^ @ ^ B] ^ A ^ E ^C4FOURÿÿÌ^ P ^ @ ^ B] ^ A ^ F ^ C5FIVE   ÿÿÌ为^ U ^ @ ^ BM ^ A ^ H ^FmathPROBLEMÿÌÿ^ W ^ @ ^ BX ^ A ^ P#¤< 85 GT;¤+PAGEcloseÿÿf^ O ^ @ ^ B] ^ A ^ R ^ B6SIX   ÿÿÌ^ Q ^ @ ^ B] ^ A ^ S ^D7SEVENÿÿÌ^ Q ^ @ ^ B] ^ A ^ T ^D8EIGHTÿÿÌ^ P ^ @ ^ B] ^ A ^ U ^ C9NINE   ÿÿÌ^ P ^ @ ^ B] ^ A ^ V ^B10TENÿÿÌ^ R ^ @ ^ B ^ P ^ A ^ W ^ @¤t+¤uplus+ ^ S ^ @ ^ B] ^ A“^ E11ELEVEN   ÿÿÌ^ S ^ @ ^ B] ^ A#^E12TWELVEÿÿÌ^ U ^ @ ^ B] ^ A $ ^ G13THIRTEEN   ÿÿÌ^ U ^ @ ^ B] ^ A%^ G14FOURTEENÿÿÌ^ T ^ @ ^ B] ^ A& ^ F15FIFTEENÿÿÌ^ S ^ @ ^ B ^ P ^ A'^ @¤t-   ¤uminus - ^ [^ @ ^ B ^ T ^ A(^H¤7¤x^ [backspace.¤v%% ^ T ^ @ ^ B] ^ A2 ^ F16SIXTEEN   ÿÿÌ^ U ^ @ ^ B] ^ A3 ^G17SEVENTE~ÿÿÌ^ U ^ @ ^ B] ^ A4 ^ G18EIGHTEEN   ÿÿÌ^ U ^ @ ^ B] ^ A5 ^G19NINETEENÿÿÌ^ S ^ @ ^ B] ^ A6 ^E20TWENTYÿÿÌ^ T ^ @ ^ B ^ P ^ A7 ^ @¤t=   ¤uequals= ^ @ ^ BX ^A8V¤< 8c>(数学26-50)SMRIGHTMore   麻木的< 99> IY为^ U ^ @ ^ BX ^ A @ ^G¤:CLEARDI〜   ÿÿf3^ @ ^ BX ^ AA /¤8¤x^ [,持有,CTRL。^ [backspace.DELTCHARDeleteÿÿf为^ U ^ @ ^ B] ^ AB ^ G21TWENTYO〜   ÿÿÌ^ U ^ @ ^ B] ^ AC ^G22TWENTTW~ÿÿÌ^ U ^ @ ^ B] ^ AD ^ G23TWENTTH~   ÿÿÌ^ U ^ @ ^ B] ^ AE ^G24TWENTFO~ÿÿÌ^ U ^ @ ^ B] ^ AF ^ G25TWENTFI~   ÿÿÌ^ T ^ @ ^ B ^ P ^ AG ^H¤t¤utimes* ^ Y ^ @ ^ B ^ P ^ AH ^H¤t/¤不受/   ^ P ^ @ ^ BU ^ B ^ @ ^PandandÌÿÿ^ _ ^ @ ^ BX ^ B ^ A ^T¤<图8c>!?(地理)FLAGUSAÿø^ ^ P ^ @ ^ BE ^ B ^BAlbertaþüÔ(^ @ ^ BU ^ B ^ ChBritish   ColumbiaBritishColumbþüÔ^ Y ^ @ ^ BU ^ B ^D0ManitobaManitobþüÔ!^ @ ^ BU ^ B ^ EHNew   BrunswickNewBrunswþüÔ2^ @ ^ BU ^ B ^ FpNewfoundland和LabradorNewf&   拉布拉多* * ^ @ ^ BU ^ B ^ GPNorthwest TerritoriesNW   TerritorþüÔ^ W ^ @ ^ B ^ L ^乙^ H ^ GprovinceMANITOBA ^ W ^ @ ^ BX ^ B ^ P#¤< 85>¤+PAGEcloseÿÿf为^ U ^ @ ^ B ^ L ^乙^ Q ^ GCanadaCANADAF〜^ T 1 @ ^ BE ^ B ^ RNova   ScotiaþüÔ^ X ^ @ ^ BU ^ B ^S0NunavutNunavutþüÔ^ X ^ @ ^ BU ^ B ^T0OntarioOntarioþüÔ^] ^ @ ^ BE ^ B ^ UPrince   爱德华   IslandþüÔ^ V ^ @ ^卜^ B ^ V(QuebecQuebecþüÔ$ ^ @ ^卜^ B ^ WhSaskatchewanSaskat-   chewanþüÔ^ N ^ @ ^ BE ^ B ^XYukonþüÔ^ T ^ @ ^ BQ ^ B ^H¤ta¤uuha   YII)^ @ ^ BQ ^ B0 ^ @¤7¤x^ [backspace.¤t。   ¤< 83>¤S¤< 85 GT;¤¤+< 82>.ÿÿf&安培; ^ @ ^ B ^ \ ^ B17Canadian   capitalCANADAF〜资本^] ^ @ ^ BU ^ B2PEdmontonEdmon ^ M

我很想知道如何最好地“打印”数据 - 所以我想查看它最初的结构中的数据。所以我在这里首先要知道的是:

一个程序写了这个文件 - 是否有可能告诉该程序编写的语言是什么?

2 个答案:

答案 0 :(得分:2)

我会查看起始的4到8个字节,它们通常用作识别二进制数据文件的“幻数”。如果您可以识别文件格式,则可以识别创建它的软件。

Offhand,“DB1< 80>”听起来它应该是某种数据库。但是,如果它是一个合适的DBMS系统,您可能在跟踪编写应用程序代码的语言时运气不佳,因为数据库通常具有与各种语言的绑定。

答案 1 :(得分:0)

您是否在程序中使用此数据文件?

什么平台?

看起来可能是包含字符串的db,xml或plist。

我会尝试将其传递给数据对象,看看是否可以将该数据对象转换为xml,然后将xml转储到日志中以查看它是否更具可读性。

更具体的内容会有所帮助。