@goma_goma_goma

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

C#で文字コード(Unicode➝JISコード)の変換を行いたい

解決したいこと

C#で文字コード(Unicode➝JISコード)の変換を行う方法ございましたら、
ご教示いただけないでしょうか。

イメージ)

Unicode U+9BF5
JIS   3033

U+9BF5から3033に変換する方法が無いか、探しております。

0 likes

1Answer

Encoding クラスを使用します。
一部の文字コードは Encodingクラスの1つとして定義されていますが、基本的には各エンコードを指定して文字列とバイト配列を変換します。

Unicode の場合バイトオーダーが逆転します。
JIS は前後に JIS コードを示すバイト配列が3バイトずつ付与されるようです。

下記を利用して、Unicode 配列 → 文字列 → JIS 配列を行えばよいと思います。

// Unicode
byte[] unicodeArray = Encoding.Unicode.GetBytes("鯵"); // 0xF5, 0x9B
string unicodeString = Encoding.Unicode.GetString(unicodeArray); // "鯵"
// JIS
byte[] jisArray = Encoding.GetEncoding(50220).GetBytes("鯵") // 0x1B, 0x24, 0x42, 0x30, 0x33, 0x1B, 0x28, 0x42
string jisString = Encoding.GetEncoding(50220).GetString(jisArray); // "鯵"
0Like

Your answer might help someone💌