html 5の下のAラベル、download属性を利用してファイルをダウンロードする符号化方式をカスタマイズします
1193 ワード
aラベルのdownloadプロパティを使用して、文字列に中国語がある場合、通常保存されているtxtファイル符号化のデフォルトはutf-8であり、以下のコードはテキストファイル符号化がutf-8またはansi形式の選択を解決することができる.
function base64(vStr){
//base64 , 。 。
return '5Yip55SoQeagh+etvueahGRvd25sb2Fk5YGaQU5TSeaWh+acrOS/neWtmOa1i+ivle+8gQ==';
}
//
var tStr =" A download ANSI !"
saveTxt = function(vFilename,vText,vCharset) {
//
if(!vFilename){return 'vFilename is null';}
try{ // ,
// A
var aLink = document.createElement('a');
if(vCharset.toUpperCase()=='ANSI'){
// base64 URL UTF-8 。
aLink.href = 'data:text/plain;base64,' + base64(vText);
}else{
//encodeURIComponent utf-8 url
aLink.href = 'data:text/plain;charset=utf-8,' + encodeURIComponent(vText);
}
//A download
aLink.download = vFilename;
// A
aLink.click();
return true;
}catch(err){
console.log(err)
console.log(err.message);
return false;
}
}
saveTxt('saveUtf8.txt',tStr,'utf-8'); //utf-8
saveTxt('saveAnsi.txt',tStr,'ansi'); //ansi