obwohl Buffers' binary 'veraltet ist, muss ich es verwenden: Ich schreibe eine Web-App verwenden Knoten js + express. Benutzer können Datei herunterladen, und der Dateiname wird verstümmelt, wenn nichtnode js 's Buffer.toString (' binary ')
res.download(allpath,buf0.toString('binary'));
verwenden beobachten Sie den Wert (ein chinesisches Zeichen):
console.log(new Buffer('牛'));
Ausgang: Puffer, e7,89,9b
und
var buf0=new Buffer('牛');
console.log(new Buffer(buf0.toString('binary')));
Ausgang: Puffer, c3, a7, c2,89, c2,9b
Was bedeutet dieser Algorithmus, und warum Binary ToString verwenden ist Arbeit?
Was ich meine ist: var buf0 = new Buffer ('牛'); Res.Download (allpath, buf0.toString ('utf-8')) ist nicht normal (im Browser, verstümmelt.) Und Var buf0 = neuer Puffer ('牛'); res.download (allpath, buf0.toString ('binary)) ist normal.aber warum? Was utf-8 zu binär ändern? – user1625647
Können Sie bitte eine Menge Code mit sinnvollen Fehlern angeben? Ich bin mir nicht sicher, ob ich dein wirkliches Problem verstanden habe. – fsenart