Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';使用Chrome文件系统API时不适合文件编码_Javascript_Google Chrome App_Html5 Filesystem - Fatal编程技术网

Javascript Can';使用Chrome文件系统API时不适合文件编码

Javascript Can';使用Chrome文件系统API时不适合文件编码,javascript,google-chrome-app,html5-filesystem,Javascript,Google Chrome App,Html5 Filesystem,我需要读取一个文件,其中包含一组在ASCII表中移动的符号。这意味着,对于每个我想要做的符号: String.fromCharCode('¢'.charCodeAt(0)-65) // returns 'a' 但它根本不起作用。我已经要求我的朋友使用Python输入相同的文件进行测试,他们得到了正确的结果 当我尝试用Chrome文件系统做同样的工作时,它根本不起作用。 我无法找回预期的符号。我认为这是我的编码/字符集平台的一个问题,但我不知道是什么以及如何解决它 我已尝试使用其他编码打开文件:

我需要读取一个文件,其中包含一组在ASCII表中移动的符号。这意味着,对于每个我想要做的符号:

String.fromCharCode('¢'.charCodeAt(0)-65) // returns 'a'
但它根本不起作用。我已经要求我的朋友使用Python输入相同的文件进行测试,他们得到了正确的结果

当我尝试用Chrome文件系统做同样的工作时,它根本不起作用。 我无法找回预期的符号。我认为这是我的编码/字符集平台的一个问题,但我不知道是什么以及如何解决它

我已尝试使用其他编码打开文件:

var reader=new FileReader();

reader.readAsText(file, 'windows-1252'); // no success
reader.readAsText(file, 'ISO-8859-2'); // no success

感谢您的帮助。问题是,根据
readAsText
标准,您的移位文本不再是文本。试图用任何标准代码页读取它是行不通的

您应该使用将文件读取为二进制,将其解释为无符号8位int数组,移动字节,然后单击


谢谢Xan,我会试试itXan,在写入文件时我也应该这样做吗?我想你可以反过来做类似的事情(使用TextEncoder)。它似乎与TextEncoder一起工作。但是,当我尝试输入readAsArrayBuffer建议的算法中获得的文件内容时,它会带来一个字符,代码
129
随附我的字母。
var buf = new Uint8Array(reader.readAsArrayBuffer(file));
buf = buf.map((byte) => byte-65);
var string = new TextDecoder("ascii").decode(buf);