Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9699

[.NET Core] Shift-JIS を扱う

$
0
0

.NET Core 3.1 で Shift-JIS エンコードを利用しようとした際に調べたこと。

やりたいこと

  • .NET Core 3.1 で Shift-JIS を扱いたい

環境

  • Windows 10 Pro
  • Visual Studio 2019
  • .NET Core 3.1

最初に

何も考えずに
Encoding.GetEncoding("Shift_JIS");
のようにして実装したところ、以下エラーが発生。

System.NotSupportedException: 'No data is available for encoding 932. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.'

調査

改めて .NET のエンコードについて調べてみる。

.NET で使用できる標準の文字エンコーディングは、ASCII、UTF-7、UTF-8、UTF-16、UTF-32。
上記以外のエンコードを使用するためには、コードページのエンコードプロバイダーへの登録が必要となる。

コード追加

ということで、Shitf-JIS エンコード処理の前に、以下コードを追加。

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

無事に実行できた。


Viewing all articles
Browse latest Browse all 9699

Trending Articles