这篇笔记篇幅较小,主要用于记录和分享。废话不多说,直接上代码看问题。
private void Form1_Load(object sender, EventArgs e)
{
FileStream fs = new FileStream(@"D:\\微信图片_20200731152803.jpg", FileMode.Open, FileAccess.Read);
int length = (int)fs.Length;
BinaryReader br = new BinaryReader(fs);
byte[] buff = new byte[length];
br.Read(buff, 0, length);
string str = @Encoding.Default.GetString(buff);
textBox1.Text = str;
}
这是一个兄弟给我发过来的代码,在WINFORM解决方案中有这么几行,先不管这位兄弟想干嘛,他找我解决的问题如下:
看这串str 字符 多么富有诗意的一行字符串,but
将这行str字符 显示在textbox中为什么是前面几个字符呢?后面的直接忽视掉了。同时在工具中的可视化编辑工具中展示str是一样的效果
其实这个问题,仔细比对下两处的字符,就会发现程序帮你忽略的是 \0 后面的字符,那难道\0有什么玄机?实际情况还真的是这样, \0 代表字符串的终止,C#对末尾出现\0 的字符,就会终止对此字符串的所有操作。
那这样就好办了呀,把这个\0 替换掉不就好了吗,来试试看。
打完,收工。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
.NET C# JAVA 基础交流群 1095936339 欢迎入群 交流