## 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に変換]]
- 📜**アクティビティ**
- 📝**トラブルシューティング**