2012-05-11 11 views
1

ユニコード文字列のリストを含むバイト配列があります。各文字列は0x00 0x00で終了します。 Encoding.Unicode.GetStringが動作しますが、1つの連結文字列が返されます。私は改行でそれを持っていたいと思います。C#文字列を取得して、改行でNULLを置き換えます。

可能な解決策の1つは、0x00 0x00シーケンスを改行に置き換えて、前述の機能を使用してバイト配列を文字列に変換することですが、どうすればいいのか分かりません。何か案は?

答えて

5

文字列に変換してから通常の文字列置換を使用しない理由は何ですか?

var text = Encoding.Unicode.GetString(binary).Replace("\u0000", "\r\n"); 

EDIT:述べたように、あなたは現在のシステムの行区切り文字を取得するためにEnvironment.NewLineを使用することができます。あなたの状況によって異なります。

+1

OPは、おそらく 'ヌル(null) '文字が失われたと想定していました。 – Oded

+0

Oded:はい、そうです。しかし、それは:)ただではない。 – axe

+1

'Environment.NewLine'についてはどうですか? – vidstige

関連する問題