プロが教えるわが家の防犯対策術!

掲題の通りなのですが、Javaではエンコードに cp930 や cp939 を指定すれば
読めます。化け具合から対象のテキストではCP930が正解のようです。

.net ではどのエンコードを使用すれば良いのでしょうか?
ibm290では読めませんでした(SO、SIを認識せず半角EBCDICとして変換するようです。)

A 回答 (1件)

使えるエンコードの一覧を .net 環境で調べましょう


https://docs.microsoft.com/ja-jp/dotnet/api/syst …

手持ちの Win10 環境で調べましたが、IBM930 に該当するエンコードがありませんでした。
    • good
    • 0
この回答へのお礼

やってみました。
IBM930, IBM939, IBM1390, IBM1399
が必要みたいですが、.NET にはいずれもないみたいです。
JavaはIBM930, IBM939は持ってますが, IBM1390, IBM1399は無し。
IBM1390は IBM930よりサポートする漢字がずっと多いみたいです。

どうやら IBM製の JDK には IBM1390/1399 のエンコーダーが
あるそうなので、それにUnicode との変換テーブル吐かせて
.NET用を自作するしかないみたいです。

だれか作ってないかな? GITHUBを探索中。

私のマシン中の .NET のエンコーダー 先頭20個。
全部の掲載は無理でした(^^;

Codepage =【37】、name =【IBM037】
Codepage =【437】、name =【IBM437】
Codepage =【500】、name =【IBM500】
Codepage =【708】、name =【ASMO-708】
Codepage =【720】、name =【DOS-720】
Codepage =【737】、name =【ibm737】
Codepage =【775】、name =【ibm775】
Codepage =【850】、name =【ibm850】
Codepage =【852】、name =【ibm852】
Codepage =【855】、name =【IBM855】
Codepage =【857】、name =【ibm857】
Codepage =【858】、name =【IBM00858】
Codepage =【860】、name =【IBM860】
Codepage =【861】、name =【ibm861】
Codepage =【862】、name =【DOS-862】
Codepage =【863】、name =【IBM863】
Codepage =【864】、name =【IBM864】
Codepage =【865】、name =【IBM865】
Codepage =【866】、name =【cp866】

お礼日時:2021/10/01 10:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!