c#的 System.Text.Encoding.UTF8.GetString

2020 年 12 月 11 日
 zxCoder

有没有可能对于两个不同的 byte 数组,解析出相同的字符串呢?

刚才遇到一个情况,接收到的字符数组本来应该去掉前 5 个头部字节,再转成 string,但是发现直接转 string 得到的字符串居然看起来是一样的,但是==比较是不一样的,长度也不一样

// res 是 byte[1024] 其中前 5 个字符是 header,从 res[5]到 res[17]等同于 rec.data
string a = System.Text.Encoding.UTF8.GetString(res);
// rec.data 是 byte[13]
string b = System.Text.Encoding.UTF8.GetString(rec.data);
// 1024 13
Console.WriteLine(a.Length+" "+b.Length);

不太理解这是为什么这是为什么呢

755 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/734648

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX