因此,我试图将一个字符简单地编码到文件中,但是由于某种原因,它无法正常工作。 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