@陌宸-暗殇 @阳神-八咫乌.data文件我简单研究了一下,有了一个基础的文件结构的概念了。
小端,分段文件,编码utf8。
头四个字节是Int32,表明文件里有多少个分段,我粗略看了一下,你们提供的文件大部分都是8个分段。
从第4个字节开始,每八个字节声明了一个分段的起点与长度:

八个字节中,Int32分段起点,Int32分段长度。
读取出来差不多是这样:

前面两个分段具体作用还需要研究,可能是动画文件,也可能是文字位图的切割坐标,也可能是某些调色盘。
不过如果只是需要提取文本应该暂时不需要理会。
文本部分是从第三个分段开始,以上图为例,总共有6个文本分段,结构都是一致的。
以其中一个分段为例:
前四个字节Int32,表示这个分段里有多少句台词。
之后同样是每8个字节一组:

八个字节的结构是:Int32 台词起点相对于分段起点的offset;Int32 台词文本字节长度(这个长度有模糊不清的地方,下面详细说)。
然后按照这个起点与长度将数据切割出来并按UTF8转成字符串。
解析出来差不多是这个感觉:

需要注意的是,读取的台词文本长度很可能会截断文本,貌似存入的字节长度与存入的数值并不完全对照,有一定的偏差。
实际上台词貌似是以“@0000”这个标识作为结束。所以如果要解析的话,最好以“@0000”作为截取的终点。
另外,按UTF8读取文字还可能出现类似这种乱码的情况:

图里的“国崩し”和“砦”显然是游戏中着重着色强调的特殊文字。
所以这里解析出来的乱码应该是RGB或者调色盘的索引。
每一个这种字节之后的所有文字都会被着色成这种指定的颜色,直到下一个着色字节出现。