JS如何读取二进制文件?

本文介绍了如何使用JavaScript通过ActiveXObject('ADODB.Stream')来读取二进制文件,尤其是大智慧数据文件中的前四个字节,并转换为日期。作者通过示例代码展示了读取字节、转换为十进制数以及拼接成16进制字符串的过程,最终将16进制字符串转换为十进制日期。虽然VBS提供了ASCB函数方便转换,但JavaScript中需要自定义函数实现类似功能。
摘要由CSDN通过智能技术生成

本人想读取大智慧的数据文件,比如,60000 股票,其开始的四个字节为 EC 1A 32 01
我想一个一个字节读取,然后拼接 成:01321AEC 再转换成十进制:就表示这日线的日期:20060908
我的问题就是:如何读取这4个字节,最后转换成20060908?
ar f="600000.day"


var ados=new ActiveXObject("ADODB.Stream");
   ados.Charset = "utf-8"
   ados.Type = 1  // 设置为二进制
   ados.mode = 3  // 设置可读写
   ados.Open()
   ados.LoadFromFile(f)
   ados.Position=0
   var s=ados.Read(1) //读取第一个字节
//接下来怎么办?
用VBS解决了.关键在vbs有个ASCB函数,可以把读取的字节转换成10进制数
看来js有些地方不行,还不能完全抛弃VBS,呵呵.




Dim f
 f="600000.day"


Set ados&#

在uni-app中,如果你希望使用plus.io来读取二进制文件,你需要先确认你的uni-app项目是基于HBuilderX开发的,并且使用了HBuilderX的uni-app插件。因为plus.io是基于HBuilderX平台提供的API,只能在HBuilderX中使用。 以下是使用plus.io来读取二进制文件的代码示例: ```javascript plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) { fs.root.getFile('path/to/file.bin', { create: false }, function(entry) { entry.file(function(file) { var reader = new plus.io.FileReader() reader.onloadend = function(evt) { // 读取成功 console.log(evt.target.result) } reader.onerror = function(err) { // 读取失败 console.error(err) } reader.readAsArrayBuffer(file) }, function(err) { // 获取文件失败 console.error(err) }) }, function(err) { // 获取文件Entry失败 console.error(err) }) }, function(err) { // 请求文件系统失败 console.error(err) }) ``` 在这个示例中,我们首先使用plus.io.requestFileSystem()方法请求私有文档目录(plus.io.PRIVATE_DOC),然后通过getFile()方法获取要读取文件的Entry对象。接下来,我们调用entry.file()方法获取文件对象,并创建一个FileReader对象来读取文件内容。最后,通过调用readAsArrayBuffer()方法来读取文件二进制内容。 请将'path/to/file.bin'替换为你实际的二进制文件路径。 需要注意的是,这段代码只能在HBuilderX中运行,无法在其他平台上运行,因为plus.io是HBuilderX平台提供的特定API。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值