9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[.NET Core] Shift-JIS を扱う

Posted at

.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);

無事に実行できた。

9
6
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?