2021年6月23日水曜日

denoでUTF-8(BOM付き)のテキストファイルを作成する

UTF-8(BOM付き)しか読み込めないプログラムがあり、どうしても そのプログラムと連携したかったため、必要な機能を作成しました。



ソース


const BOM = [0xEF, 0xBB, 0xBF]
const encoder = new TextEncoder()
const data = encoder.encode("Hello world\n")
const txt = BOM.join() + ',' + data.join()
const arr = txt.split(',').map( (str:string):number => parseInt(str))
const uint = new Uint8Array(arr)
await Deno.writeFile("UTF-8(BOM付き).txt", uint)
view raw BOM.ts hosted with ❤ by GitHub



実行


deno run --allow-write BOM.ts
view raw run hosted with ❤ by GitHub



結果



メモ帳で開いてみると、画面右下に確かに「BOM付き」と表示されています。



お世話になったサイト


PowerShellの文字コードについて解説!文字化けで困らないための対処法 | テックマガジン from FEnetインフラ




ちなみにDeno.writeTextFileのオプションを指定して同様の事ができないか?と思いましたが、今のところできないようです。

0 件のコメント:

コメントを投稿