DOBON.NET DOBON.NETプログラミング掲示板過去ログ

文字コードの変換について

環境/言語:[WindowsXP SP1, C#, .NET Framework 1.1]
分類:[.NET]

文字コードの変換をしたくて、どぼんさんのサイトのC#コーナーの、
[バイト型配列のデータを文字コードを指定して文字列に変換する]のコーナーを読んでいます。

なのにSDKのドキュメントには、「.NET Frameworkでの文字列は全てUnicodeで表されます。」と書いてあるんです。
ということは、下のように変換した場合も、戻り値の文字列returnvalueのエンコードは強制的にUnicodeになっちゃうんでしょうか?

public string Encode(string s)
{
//ここで引数sをJISに変換処理
return returnvalue;//戻り値はJISの文字列
}

文字コードとはよく分かってないので、ちょっと頭が混乱してます。
意味不明でしたらすいません。><;
> なのにSDKのドキュメントには、「.NET Frameworkでの文字列は全てUnicodeで表されます。」と書いてあるんです。
> ということは、下のように変換した場合も、戻り値の文字列returnvalueのエンコードは強制的にUnicodeになっちゃうんでしょうか?

そうですね。string型は表現された文字列そのものに意味があるので、
内部の文字コードを意識したデータのやりとりが必要で、
UNICODE以外なら、byte配列を使います。

> public string Encode(string s)
> {
> //ここで引数sをJISに変換処理
> return returnvalue;//戻り値はJISの文字列
> }

なのでリターン値はバイトデータをbyte[]で扱いましょう。

DOBON.NET | プログラミング道 | プログラミング掲示板