WSH/JScriptでUTF-8のファイルを読み書きする方法をメモ。
// 書き込み例 writeFile("hoge.txt", "utf-8"); // 読込み例 var s = readFile("hoge.txt", "utf-8"); alert(s); // ファイルの読込み function readFile(fname, charset) { if (charset == undefined) { charset = "_autodetect_all"; } var adTypeBinary = 1, adTypeText = 2; var adReadAll = -1, adReadLine = -2; var s = new ActiveXObject("ADODB.Stream"); s.Type = adTypeText; s.charset = charset; s.Open(); s.LoadFromFile(fname); var text = s.ReadText(adReadAll); s.Close(); return text; } // ファイルの保存 function writeFile(fname, text, charset) { if (charset == undefined) { charset = "_autodetect_all"; } var adTypeBinary = 1, adTypeText = 2; var adSaveCreateNotExist = 1, adSaveCreateOverWrite = 2; var adWriteLine = 1; var s = new ActiveXObject("ADODB.Stream"); s.Type = adTypeText; s.charset = charset; s.Open(); s.WriteText(text, adWriteLine); s.SaveToFile(fname, adSaveCreateOverWrite); s.Close(); }
追記:
もしも、ファイルを読み込むときに、テキストファイルの文字コードを自動判定したい場合には、引数charsetに「_autodetect_all」を指定します。