C#でバイト型配列を文字列に変換する

//バイト型配列"bytesData"に文字列データが入っているものとする

string str;

//Shift JISとして文字列に変換
str = System.Text.Encoding.GetEncoding(932).GetString(bytesData);

//JISとして変換
str = System.Text.Encoding.GetEncoding(50220).GetString(bytesData);

//EUCとして変換
str = System.Text.Encoding.GetEncoding(51932).GetString(bytesData);

//UTF-8として変換
str = System.Text.Encoding.UTF8.GetString(bytesData);

//結果を表示
Console.WriteLine(str);

C#でstring(文字列)からバイト型配列 byte[] (バイナリ) に変換する

private void button1_Click(object sender, EventArgs e)
{
  string text = "文字列";

  //ASCII エンコード
  byte[] data = System.Text.Encoding.ASCII.GetBytes(text);
  
  //データがShift-JISの場合
  //byte[] data = System.Text.Encoding.GetEncoding("shift_jis").GetBytes(text);

  //データがEUCの場合
  //byte[] data = System.Text.Encoding.GetEncoding("euc-jp").GetBytes(text);

  //データがunicodeの場合
  //byte[] data = System.Text.Encoding.Unicode.GetBytes(text);

  //データがutf-8の場合
  //byte[] data = System.Text.Encoding.UTF8.GetBytes(text);

  //何かしらの処理
  WirteBinaryData(data);
}

C#で文字列から一行ずつ読み込む

String InputTxt = "...";

System.IO.StringReader rs = new System.IO.StringReader(InputTxt);

//StreamReaderを使うと次のようになる
//System.IO.MemoryStream ms = new System.IO.MemoryStream
//    (System.Text.Encoding.UTF8.GetBytes(InputTxt));
//System.IO.StreamReader rs = new System.IO.StreamReader(ms);

//ストリームの末端まで繰り返す
while (rs.Peek() > -1)
{
    //一行読み込んで表示する
    Console.WriteLine(rs.ReadLine());
}

rs.Close();

VARIANT型のラッパークラス_variant_t

VARIANTにはCComVariantや_variant_tといったラッパークラスがある.
これらのクラスはコンストラクタで VariantInit()を,デストラクタでVariantClear()を行う.
これによりクラス使用者はVARIANTの初期化と領域の解放を意識しなくてもよくなる.

他にもオーバーロード済みの演算子等が用意されており,例えば演算子”=”を用いることで型やメモリ確保を意識せずに整数型や文字列等も直接代入することができる.