Vau*_*lts 8 javascript database vb6
我有以下数据库,用MS Access的某些变体编写(这是一个MDB文件-UNIX file确认了这一点)
我正在尝试从Windows中的Javascript读取内容。虽然,实际上,任何工具都可以。例如,Python也可以。。。但是我想避免使用VB6。当然,我可以在那里剪切一些代码并在IDE中运行它,然后提取值。但我想了解潜在的机制
我正在使用一个查询,node-adobd从中选择所有地图的“数据”列。这是一个通过zlib压缩的字符串(压缩级别未知),然后将其压缩到表中。
在Node中,使用以下功能,我可以进行查询并获取基础的字符串流...
75 0a 00 00 **78 01** 53 d5 20 ...
Run Code Online (Sandbox Code Playgroud)
那是ZLIB的魔幻数字,向我提示。我尝试使用zlibNode来解压缩它,但是由于各种错误而失败。前四个字节是游戏引擎似乎要附加的标头。但这与我所知道的有效负载无关(您可以在此处阅读压缩例程。
由于似乎可以在VB6领域中读取它,而没有我可以说的任何其他后期处理(modDatabase如果您想阅读它,可以找到它),我所能想到的就是:数据库连接器中发生了什么事,何时发生我得到了数据。可能是未经我的同意而对某些内容进行了编码。
我这样查询:
connection.query('Select Number, Data from [Maps]')
.then((results) => {
const result = results[0]; // first one to experiment with
// use the above code to construct a byte array from
// result.Data, but I have also tried things like
// Buffer.from ... but it asks about encodings
// which I am unsure of!
});
Run Code Online (Sandbox Code Playgroud)
在获取原始字节的情况下,我得到了上述签名。使用另一种编码获取缓冲区具有不同程度的成功。在DBeaver中查看原始数据会产生相似的结果,具体取决于编码。但是,要查看它,我必须选择一种编码。
我的理解是,在一天结束时,字符串只是简单地以字节序列的形式存储在内存中-我不能从低级别访问它吗?如果没有,您如何处理编码转换?
根据此页面,备忘录是Unicode(但并未真正说出什么),但它提到了两个字节,因此假设这是相对较新的访问版本,可能是UTF-16。
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |