文字コード掲示板


記事表示


No.231投稿日時:2004/11/26(金) 01:34    <↑親記事:No.229>
投稿者:森山 将之

Re: SJIS文字コードから文字への変換

シフトJIS の文字コード (通常、数値型として扱われる) を、文字に変換したいとの事ですが、使用する言語で、「文字」をどのように扱っているのかという事を、まず始めに調べるべきでしょう。

C# での文字型はどうなっているか調べてみると次のようになっています。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/csref/html/vclrfc...

C# の文字型である char 型は、Unicode の値を格納しなければならない事が分ります。
この事から、たぶん整数型などの数値として保持しているであろうシフトJIS の文字コード値を、Unicode の値に変換してから char 型に代入する必要があることがわかります。
C# で、シフトJIS の文字列と Unicode の文字列の変換を行うためには、Encode クラスを使用するようです。

.NET Framework 開発者ガイド
コード ページのエンコーディング サポート
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpco...

エンコーディング クラスの使用
http://www.microsoft.com/japan/msdn/library/ja/cpguide/html/cpconusingunicodeencoding.asp?FRAME=true...

とりあえず、Encoding.GetBytes のリンクをクリック

.NET Framework クラス ライブラリ
Encoding.GetBytes メソッド
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfS...

メソッドのリンクをクリック

.NET Framework クラス ライブラリ
Encoding メソッド
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfS...

conver をクリック

.NET Framework クラス ライブラリ
Encoding.Convert メソッド
http://www.microsoft.com/japan/msdn/library/ja/cpref/html/frlrfsystemtextencodingclassconverttopic.a...

ここまでくれば、あとは、整数型で表されているであろうシフトJISの文字コード値を自前で byte 型の配列に変換して、上記、Encoding.Convert メソッドで変換してやれば OK でしょう。


Script : Sylpheed 1.24
Modified by MORIYAMA Masayuki