转换字节数组 - >字符串 - >字节数组会破坏数据

sǝɯ*_*ɯɐſ 4 .net string encoding bytearray

谁能告诉我这里发生了什么?

        byte[] stamp = new byte[]{0,0,0,0,0,1,177,115};
        string serialize = System.Text.Encoding.UTF8.GetString(stamp);
        byte[] deserialize = System.Text.Encoding.UTF8.GetBytes(serialize);

        //deserialize == byte[]{0,0,0,0,0,1,239,191,189,115}
Run Code Online (Sandbox Code Playgroud)

为什么是邮票!=反序列化?

Eri*_*ich 5

在原始字节数组中,您有177字符,这是加号.但是在序列化期间,该代码无法识别.它被替换239 191 189为替换字符.

这是一张参考图表. http://www.utf8-chartable.de/unicode-utf8-table.pl?start=65280&utf8=dec

我不太清楚为什么没有识别plusminus符号,但这就是字节数组不相等的原因.除了那个交换之外,它们将是相同的,并且数据不会以任何方式被破坏.