Binary 使用extendscript读取二进制文件

Binary 使用extendscript读取二进制文件,binary,photoshop,extendscript,photoshop-script,Binary,Photoshop,Extendscript,Photoshop Script,仅限于在Photoshop中使用Extendscript,我尝试在同一个二进制文件中写入和读取。 我可以把文件写好,但我不确定读到的部分哪里出错了 数据将是十六进制的RGB颜色,因此我希望以数组或字符串的形式从read函数返回数据。只是我甚至不能让它告诉我刚才写的文件存在。我不确定我应该使用seek()还是read()。困惑 var f=新文件(“D:\\temp\\bin.act”); var w=写入二进制(f); var r=读取二进制(w); 警报(r); 函数写入二进制文件(afile

仅限于在Photoshop中使用Extendscript,我尝试在同一个二进制文件中写入和读取。 我可以把文件写好,但我不确定读到的部分哪里出错了

数据将是十六进制的RGB颜色,因此我希望以数组或字符串的形式从read函数返回数据。只是我甚至不能让它告诉我刚才写的文件存在。我不确定我应该使用seek()还是read()。困惑

var f=新文件(“D:\\temp\\bin.act”);
var w=写入二进制(f);
var r=读取二进制(w);
警报(r);
函数写入二进制文件(afile)
{
afile.encoding=“二进制”;
开放式文件(“w”);
对于(i=0;i<256;i++)
{
写入(String.fromCharCode(i));
}
afile.close();
}
函数读取二进制(afile)
{
var f=新文件(afile);
f、 开放式(“r”);
f、 编码=“二进制”;
//var data=f.read();
//如果(f.exists)警报(afile);
//警报(数据);
var-arr=[];
对于(变量i=0;i
你可以这样读:

// Open binary file
var afile = "/Users/mark/StackOverflow/data.bin"
var f = new File(afile);
f.open("r");
f.encoding = "BINARY";
alert('OK');

var hexstring=""
while (true){
    var b = f.readch().charCodeAt(0);
    if(f.eof){break;}
    var hex = b.toString(16);
    if(hex.length === 1) hex = "0" + hex;
    hexstring += hex;
}
alert(hexstring);

这个答案对应的写作部分是。

你可以这样读:

// Open binary file
var afile = "/Users/mark/StackOverflow/data.bin"
var f = new File(afile);
f.open("r");
f.encoding = "BINARY";
alert('OK');

var hexstring=""
while (true){
    var b = f.readch().charCodeAt(0);
    if(f.eof){break;}
    var hex = b.toString(16);
    if(hex.length === 1) hex = "0" + hex;
    hexstring += hex;
}
alert(hexstring);

此答案的相应写入部分是。

看起来您没有从写入函数返回文件,但仍然希望将其保存到var
w
,然后您希望在读取函数中使用该文件。这是行不通的,因为
w
只是没有定义而已。@mdomino我知道我现在哪里出错了。谢谢你指出这一点。嗨,很抱歉有个问题,但我想知道,你是如何处理这种事情的?我也是一名艺术家,我甚至不知道从哪里开始二进制阅读。假设我想从abr文件中提取特定画笔的png。我怎么知道怎么做…?当我发现的时候,我会让你知道的@SergeyKritskiy以前有几个实用程序可以将abr转换为png/tiff abrMate。看起来您没有从写函数返回文件,但仍然希望将其保存到var
w
,然后您又希望在读函数中使用该文件。这是行不通的,因为
w
只是没有定义而已。@mdomino我知道我现在哪里出错了。谢谢你指出这一点。嗨,很抱歉有个问题,但我想知道,你是如何处理这种事情的?我也是一名艺术家,我甚至不知道从哪里开始二进制阅读。假设我想从abr文件中提取特定画笔的png。我怎么知道怎么做…?当我发现的时候,我会让你知道的@SergeyKritskiy过去有几个实用程序可以将abr转换为png/tiff,abrMate就是其中之一。