如何将MemoryStream付值给一个string
环境如下:
int L,M,N(L>M>N)
MemoryStream mStream (已包含长度为L的数据)
string myString
目标:myString= mStream[m,n],即将mStream中从M到N的数据付值给String
问题点数:100、回复次数:8Top
1 楼jiezhi(风满袖)回复于 2006-03-02 14:57:00 得分 0
你根据你的情况选择合适的字符集:
byte[] bytes;
Array.Copy(yourMemoryStream.ToArray(),M,bytes,0,N-M+1);
string myString = Encoding.Unicode.GetString(bytes);
Top
2 楼jiezhi(风满袖)回复于 2006-03-02 14:59:24 得分 0
byte[] bytes = Array.CreateInstance(typeof(byte),N-M+1);
Array.Copy(yourMemoryStream.ToArray(),M,bytes,0,N-M+1);
string myString = Encoding.Unicode.GetString(bytes);Top
3 楼linkejian(我是笨苯)回复于 2006-03-02 15:49:50 得分 0
Array.Copy(yourMemoryStream.ToArray(),M,bytes,0,N-M+1);
中间的0是什么意思?Top
4 楼diandian82(点点(nothing))回复于 2006-03-02 16:02:48 得分 0
UPTop
5 楼hjiaming(无边无际无求)回复于 2006-03-02 16:07:17 得分 0
byte[] bytes = new byte[N-M];
mStream.Read(bytes , M,N-M);
string myString = Encoding.Unicode.GetString(bytes);
Top
6 楼jiezhi(风满袖)回复于 2006-03-02 16:13:54 得分 0
我的方法比较罗嗦了,使用MemoryStream.Read 来读取一段byte[],然后得到string比较简单些.Top
7 楼lidong6(立冬)回复于 2006-03-02 16:20:13 得分 0
hjiaming(佳名猫)的反了,不过大概意思是这样.Top
8 楼bufan2162(永远保持前进状态)回复于 2006-03-02 16:45:09 得分 0
学习...Top




