【发布时间】:2011-02-24 21:18:36
【问题描述】:
我尝试在 C:\Users[name]\AppData\Roaming\Skype 中查找,发现一个名为“chatsync”的文件夹,其中包含一些以 .dat 结尾的文件的神秘文件夹。我几乎可以肯定这些是聊天记录,但我不知道如何正确打开这些文件(记事本显示乱码和英文单词)。我不是在做侦探,只是给我女朋友的一个项目。
更重要的是:如何正确读取 Skype 的 .dat 文件?
【问题讨论】:
我尝试在 C:\Users[name]\AppData\Roaming\Skype 中查找,发现一个名为“chatsync”的文件夹,其中包含一些以 .dat 结尾的文件的神秘文件夹。我几乎可以肯定这些是聊天记录,但我不知道如何正确打开这些文件(记事本显示乱码和英文单词)。我不是在做侦探,只是给我女朋友的一个项目。
更重要的是:如何正确读取 Skype 的 .dat 文件?
【问题讨论】:
据我所知,除了使用实用程序之外,没有其他方法可以打开这些文件。我一直用这个来阅读它们:
【讨论】:
【讨论】:
有一个很棒的新应用Skyperious; Skyperious 可以:
【讨论】:
%AppData%/Local/Packages/Microsoft.SkypeApp_<gibberish>_/LocalState/<gibberish>_<skypeusername>.db)?
您也可以安装SQLite for windows。消息存储为 SQLite 数据库(数据库中存在多个表 - 'Messages' 表保存聊天消息)。
【讨论】:
我知道这是一个相当老的帖子,但我想添加一些额外的信息,
我不太喜欢 NirSoft Skype 日志视图 导出聊天消息的方式,所以我为了好玩而拼凑了自己的解析器 - 但我有点懒将它添加到任何类型的源代码控制机制中,这可能看起来很尴尬,但没关系。
http://www.mediafire.com/download/yp0r3r5c686ecrk/SkypeMessageParser.zip
我已经包含了 JAR 文件和源代码。
它需要Skype Log View的文本文件导出(由以下命令创建)
SkypeLogView.exe /SaveDirect /UseTimeRange 0 /logsfolder "C:\Users\username\AppData\Roaming\Skype\skypeusername" /stext "C:\Root\Downloads\skypelogview\log.txt"
数据格式如下:
==================================================
Record Number : 110
Action Type : Chat Message
Action Time : 2012.06.04. 22:31:08
End Time :
User Name : l__i
Display Name : N___L
Duration :
Chat Message : messagegoeshere
ChatID : #skypeid/$hashcode
Filename :
==================================================
并将其转换为:
[2012.06.04. 22:31:08] l_i (N___L): messagegoeshere
它还获取聊天 ID 并将基于该 ID 的日志分成多个文件,因此聊天不会最终混合在一起。
例如,
2012-06-05--l__i-z_n.txt (where the date is the date of the first message).
用法:
java -jar SkypeMessageParser.jar [path of exported TXT file from SkypeLogViewer] [absolute path of output TXT file]
我希望有人觉得这很有用! :)
注意:程序需要yyyy.MM.dd 的系统日期格式,这意味着如果您使用dd/MM/yyyy 的格式,它将崩溃。
【讨论】: