我的要求非常简单...打开任何旧的ANSI-ASCII-UTF8-Unicode TXT文件并替换一些特殊的"字处理"字符如花哨的单引号(\ u2019)和双引号(\ u201C和\ u201D)与普通的香草Ascii,然后做一些其他(与问题无关)解析。
然而,无论我尝试的编码(ascii,utf8,二进制),我都无法让Node.js正确返回所有字符,以便用它们的Ascii等价替换它们,而是得到无用的小矩形!
这是函数的相关部分......
function LoadTxtFile(Name){
fs=require('fs');
if (fs.existsSync(Name)){
var Source=fs.readFileSync(Name,'binary').toString();
/* Replace miscellaneous characters which works fine…*/
Source=Source.replace(/\©/g,'©');
Source=Source.replace(/\…/g,'...');
Source=Source.replace(/\t/g,' ');
Source=Source.replace(/\'/g,''')
/* Replace the dreaded single/double quotes but they are never located! */
Source=Source.replace(/\u2019/g,''');
Source=Source.replace(/\u201C/g,'"');
Source=Source.replace(/\u201D/g,'"');
/* And we’re stuck! */
}}
非常感谢。