## iconv-lite を使う方法 [[iconv-lite]]の`decode`で[[Unicode]]に変換してから、`encode`で[[UTF-8]]にする。 ```ts import iconv from "iconv-lite"; const sjisArrayStr = Deno.readFileSync("./sjis.txt"); // この2行が実際の変換処理 const unicodeStr: string = iconv.decode(sjisArrayStr, "sjis"); const utf8Str = iconv.encode(unicodeStr, "utf8"); Deno.writeFileSync("./utf8.txt", utf8Str); ``` ## encoding-japanese を使う方法 [[encoding-japanese]]の `Encoding.convert` で変換する。 > [!caution] > [[CP932]]など一部の[[エンコーディング]]は[[encoding-japanese]]では対応されていないため、それらが必要な場合は[[iconv-lite]]を使った方がいい。 ```ts Encoding.codeToString( Encoding.convert(Encoding.stringToCode(str), { from: "SJIS", to: "UTF8" }) ); ``` ## MOC - 📒**関連** - [[UTF-8の文字列をShift-Jisに変換 (JavaScript)|UTF-8の文字列をShift-Jisに変換]] - 📜**アクティビティ** - 📝**トラブルシューティング**