2012-02-05 14 views
0

文字をファイルにエンコードしようとしていますが、何らかの理由でそれが機能しません。私は、サンプルコードを発見し、ここに私のコードできたHereJavaでの文字のエンコーディング

public class derp : MonoBehaviour{ 
    public Char[] chars = new Char[] {'a', 'b', 'c', 'r', 't', 'h'}; 

    void Start(){ 
     UTF8Encoding utf8 = new UTF8Encoding(); 
     Byte[] encodedBytes = utf8.GetBytes(chars); 

     FileStream stream = new FileStream(Application.dataPath+"/testing.wld", FileMode.Create); 
     for(int i = 0; i < chars.Length; i++){ 
      stream.WriteByte(encodedBytes[i]); 
     } 
     stream.Close(); 
    } 
} 

私は、スクリプトを実行した、それを開いて、thisは、ファイルがどのように見えるかです:

私は古い人を望んでいませんファイルを開いてその中にあるデータを編集できるようにします。しかし、写真は明らかにそれが可能であることを示している。私のコードは、例のコードと異なるものではありませんが、何らかの理由でファイルにエンコードされたデータがありません。それではなぜこれが機能しないのですか?なぜデータがエンコードされていないのですか?

答えて

3

データは暗号化されていますが、に暗号化されたになりたかったようです。 UTF-8は暗号化用ではありません。それは単なる文字セットです。 UTF-8エンコーディングはASCIIとまったく同じように見えます。そのため、メモ帳でファイルを読むことができます。

ファイルを暗号化する場合、1つのオプションはRSA暗号化です。 RSACryptoServiceProviderクラスをチェックアウト:

http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsacryptoserviceprovider.aspx

0

それはエンコードされます - UTF8に...

0

データは、符号化されているで、すべてが文書化作業、およびUTF8を知っている誰もが予想通りれます。おそらくあなた自身の期待は現実と一致しないだろうか? 「UTF8」は何だと思い、「エンコーディング」は何を意味しましたか?

+0

私はそれは、データが読めなく作られたものをエンコードするとき、私はしかし、それはそれはそう誰もがデータを読み取ることはできませんし、周りにそれを編集作ったのですか?私はファイルを読むことができないようにしたいのですが、エンコーディングはその解決策でしたが?データはエンコードされていますが、保存するファイルに出力するときはエンコードされません。ファイルを人間が読めるので簡単に変更することができます。私はあなたが私のプログラムを使用しない限り、データを編集できないように人間が読めるような奇妙な人物ではありますが。 – MrSplosion

+1

「暗号化」と「暗号化」を混同しています。あなたが望むのは暗号化です。私のポストを参照してください、またはhttp://danielmiessler.com/study/encoding_vs_encryption/をご確認ください。 – compilererror

+0

@MrSplosion:私はあなたの期待が全体として間違っているのではないかと心配しています。私は、情報処理とテキストエンコーディングの基礎について、いくつかの文献を調べるべきだと思います。盗聴者にデータを読めないようにするプロセスは「暗号化」と呼ばれ、それはまったく異なる分野です。 –

関連する問題