charポインタ・sbyteポインタから文字列を作成する 言語: C# マネージドコードのみの場合はほとんど使うことはありませんが、Stringコンストラクタではcharのポインタやsbyteのポインタから文字列を作成することも出来ます。 charポインタ・sbyteポインタから文字列を作成する すべて選択してコピー ダウンロード 行番号を表示する using System; using System.Text; class Sample { static void Main() { byte[] data; string s; // 文字列を構成するbyte配列 data = new byte[] {0x41, 0x42, 0x43}; unsafe { fixed (byte* d = data) { // byteポインタをsbyteポインタにキャストして文字列を作成する s = new string((sbyte*)d, 0, 3); } } Console.WriteLine(s); data = new byte[] {0x93, 0xfa, 0x96, 0x7b, 0x8c, 0xea}; unsafe { fixed (byte* d = data) { // sbyteポインタから文字列を作成する (文字コードをshift_jisとして解釈する) s = new string((sbyte*)d, 0, 6, Encoding.GetEncoding("shift_jis")); } } Console.WriteLine(s); } } 実行結果 ABC 日本語 関連するページ String.ToCharArrayメソッドを使って文字列を文字(Char)の配列に変換する String.CopyToメソッドを使って文字列の一部を文字(Char)の配列に変換してコピーする Stringコンストラクタを使ってChar配列から文字列を作成する 文字列に含まれる部分文字列を計上する(Count) 文字列中の文字の並びを反転する(Reverse) 文字列中の文字の並びを反転する(Reverse)・LINQ版 文字列中の指定した範囲を別の文字列に置換する