- readFileSync encoding应该传什么才能读ArrayBuffer?
想通过FileSystemManager.readFileSync去读一个二进制文件,看到文档中反馈如果不传encoding会以arraybuffer返回。但是测试下来如果不传则会返回空。但是如果传了'binary',又返回是字符串类型。请问,readFileSync这个API什么情况下才会返回二进制?测试代码如下: const ab = new ArrayBuffer(1024) ab[0] = 0x1; var fs = wx.getFileSystemManager(); var filePath = `${wx.env.USER_DATA_PATH}/hello.bin` const fd = fs.openSync({ filePath: filePath, flag: 'w' }) const wres = fs.writeSync({ fd: fd, data: ab, encoding: 'binary' }) console.log("readFileSync success Begin") var readResult = fs.readFileSync(filePath) console.log(Object.prototype.toString.call(readResult)); console.log(JSON.stringify(readResult)); console.log("readFileSync success end") fs.readFile({ filePath : filePath, encoding : 'binary', complete : (res) => { console.log(Object.prototype.toString.call(res.data)); console.log(JSON.stringify(res)); console.log("readFile complete end") } }) [图片] 如上图,第一个函数没有传encoding类型,直接返回空,也确实是ArrayBuffer类型。第二个函数传了,但是直接返回字符串。
2024-12-24 - 小游戏API中的wx.restartMiniProgram path参数有什么作用呢?
[图片]如果重启小游戏的时候,需要传入path吗?一般情况,这个path参数传入什么内容呢?是什么情况需要使用到呢?
2024-08-13