在Java中编码Char

时间:2012-02-05 00:37:35

标签: java utf-8 character-encoding char

所以我试图简单地将一个字符编码成一个文件,但由于某种原因它无法正常工作。 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就是文件的样子:

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

3 个答案:

答案 0 :(得分:3)

嗯,数据是经过编码的,但听起来你希望它是加密的。 UTF-8不适用于加密;它只是一个字符集。 UTF-8编码看起来与ASCII完全相同,这就是Notepad可以读取文件的原因。

如果要加密文件,一个选项是RSA加密。查看RSACryptoServiceProvider类:

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

答案 1 :(得分:0)

它将以UTF8编码......

答案 2 :(得分:0)

数据正在进行编码,所有内容都按照文档记录,并且正如所有知道UTF8的人所期望的那样。也许你自己的期望与现实不符?您认为“UTF8”是什么以及“编码”是什么意思?