2

私の暗号化アプリケーション (C# & GTK# で記述され、Rijndeal を使用) は、テキストビューから文字列を取得して暗号化し、結果を Byte 配列で返します。次に、Encoding.Unicode.GetString() を使用してそれを文字列に変換しますが、出力が正しく表示されません。無効な文字が含まれているようです: `zźr[� ��ā�֖�Z�_���� わぁ。

テキストビューのエンコーディングは Unicode ではないと仮定していますが、ASCII も機能しません。出力が無効でないことを確認するにはどうすればよいですか? それとも私のアプローチはそもそも間違っていますか?

私は C# は初めてで、一般的なプログラミングの経験はあまりありません (私は PHP にかなりのスキルがあり、JavaScript も少し知っていますが、それだけです)。

お時間を割いていただき、ありがとうございます。

4

1 に答える 1

4

すべての文字列は UTF-16 を使用してバイト シーケンスとして表すことができますが、すべてのバイト シーケンスが UTF-16 でエンコードされた文字列を表すわけではありません。特に、バイトのシーケンスが暗号化プロセスの結果である場合。

Convert.ToBase64String メソッドを使用して、一連のバイトをBase64文字列に変換できます。

于 2012-06-24T03:56:27.710 に答える