【发布时间】:2010-11-27 00:29:40
【问题描述】:
我有一个类似这样的字节数组(16字节):
71 77 65 72 74 79 00 00 00 00 00 00 00 00 00 00
我用它把它转换成字符串并修剪结尾的空格:
ASCIIEncoding.ASCII.GetString(data).Trim();
我得到的字符串很好,但是它仍然有所有的结尾空格。
所以我得到了类似"qwerty.........." 的东西(由于 StackOverflow,点是空格)。
我做错了什么?
我也尝试使用 .TrimEnd() 并使用 UTF8 编码,但它并没有改变任何东西。
提前致谢:)
【问题讨论】:
-
你的字节数组是以 00 字节还是 20 字节结尾的?空格是 0x20 而不是 0x00。
-
如果您的字节数组来自 MemoryStream,请确保您调用
ToArray()而不是GetBuffer(),因为 GetBuffer 将包含“未填充”数据,从而导致所有这些 `\0's
标签: c# arrays string byte trim