因此,我试图将一个字符简单地编码到文件中,但是由于某种原因,它无法正常工作。 Here在其中找到示例代码的地方,这是我的代码:

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

我不希望任何老人都能打开文件并编辑其中的数据。但是图片清楚地表明了它的可能性。我的代码与示例中的代码没有什么不同,但是由于某种原因,文件中没有编码数据。那为什么不起作用呢?为什么不对数据进行编码?

最佳答案

嗯,数据已经过编码,但是听起来像您希望对其进行加密。 UTF-8不适用于加密;这只是一个字符集。 UTF-8编码看起来与ASCII完全一样,这就是记事本可以读取文件的原因。

如果要加密文件,则一种选择是RSA加密。签出RSACryptoServiceProvider类:

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

09-27 00:25
查看更多