あさりのみそしるダイアリー

ココロおだやかに暮らしてます😌

.NET Core (.NET Standard) で シフトJISを使わせろ

なんか、やりたいこと進まないなー。
普通にファイルの読み書きでシフトJIS(Shift-JIS)を使おうとしたら、ビルドは通るのに実行時に例外が飛んできました。

なんでや。


イメージ 1


どうやら、.NET Core (.NET Standard) では、標準では文字コード「シフトJIS」をサポートしていないらしい。

めんでぇ・・・。


いろいろネットで検索した挙句、NuGetで「shift-jis」と検索すると、それらしいものがヒットしました。

イメージ 2

どうやら説明を読む限り、「System.Text.Encoding.CodePages」をインストールしてやれば、うまく動きそうです。



イメージ 3

先ほどのコードで、
> Encoding.RegisterProvider(CodePagesEncodingProvider.Insance);
をGetEncodingする前に実行してやります。


すると・・・動きました。文字化けせずに読み書きできました。
バンザーイ!

しかし、いちいちめんどくさいね、これ。

本来やりたかったこと、一方通行しかできていないので、
A⇒a になったところを、 a⇒A にできるようツールを改造しないといけないのです。
将来的には使うことになるだろうツールで、うまく動けば公開するかもしれませんが、とりあえず今は伏せます。


Unityは、横浜に戻ったらですね。
今のノートPCでは、これ以上は無理なので。

ファイルのコピーを忘れたら最悪だけど。。。