我有一个文本块,里面有一些文字。当我将textblock中的字符串转换为stream时,stream.size总是比textblock.text.length长,为什么?总是有4个字符。
答案 0 :(得分:0)
这是我的测试和结果:
在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的最后两个参数。