0
我有一个文本块,里面有一些文本。当我将文本块中的字符串转换为流时,stream.size总是比textblock.text.length长,为什么?总是有4个字符长。为什么stream.size总是比字符串的长度长
我有一个文本块,里面有一些文本。当我将文本块中的字符串转换为流时,stream.size总是比textblock.text.length长,为什么?总是有4个字符长。为什么stream.size总是比字符串的长度长
这里是我的测试,并将结果:
在XAML:
<TextBlock x:Name="txtbx" Text="Four" />
在C#:
int txt = txtbx.Text.Length;
long streamLength = 0;
using (Stream test = new MemoryStream())
{
test.Write(txtbx.Text.Select(t => (byte)(int)t).ToArray(), 0, txtbx.Text.Length);
streamLength = test.Length;
}
// Result: txt = 4
// streamLength = 4
所以我的回答是:要么你有编码问题,要不你发流错了。如果我要猜测的话,你会搞砸Stream.Write的最后两个参数。
要转换成什么流?请显示您的代码,因为['Stream'](http://msdn.microsoft.com/zh-cn/library/system.io.stream)上不存在'Size'属性。 –
它可以编码数据? – Sisyphe