格式转化代码如下:
System.IO.MemoryStream mstream = new System.IO.MemoryStream();
this.DAContent.SaveFile(mstream, RichTextBoxStreamType.RichText);
byte[] bWrite = mstream.ToArray();
然后将bWrite存入到数据库中,
然后,我再从数据库将内容取出来,想转为字符串返回给用户,但不管用什么编码转换,都转不成字符串形式,转换的结果就像下面这样:
"{\\rtf1\\ansi\\deff0{\\fonttbl{\\f0\\fnil\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}}\r\n\\viewkind4\\uc1\\pard\\lang2052\\f0\\fs18 1.\\'bf\\'cd\\'bb\\'a7\\'d0\\'c5\\'cf\\'a2\\'d0\\'e8\\'cc\\'ee\\'d0\\'b4\\'d5\\'fd\\'c8\\'b7\\par\r\n\\par\r\n2.\\'d6\\'f7\\'d2\\'aa\\'d0\\'c5\\'cf\\'a2\\'b1\\'d8\\'d0\\'eb\\'cc\\'ee\\'d0\\'b4\\par\r\n\\par\r\n3.\\'bf\\'cd\\'bb\\'a7\\'d0\\'c5\\'cf\\'a2\\'c8\\'e7\\'d3\\'d0\\'b8\\'fc\\'b8\\'c4\\'a3\\'ac\\'d0\\'e8\\'cd\\'ac\\'b2\\'bd\\'b8\\'fc\\'d0\\'c2\\par\r\n\\par\r\n4.\\'c8\\'e7\\'bf\\'cd\\'bb\\'a7\\'d2\\'d1\\'b6\\'b3\\'bd\\'e1\\'d4\\'f2\\'b2\\'bb\\'c4\\'dc\\'b1\\'bb\\'cf\\'c2\\'bc\\'b6\\'b5\\'a5\\'d2\\'fd\\'d3\\'c3\\par\r\n\\par\r\n5.\\'bf\\'cd\\'bb\\'a7\\'d0\\'c5\\'cf\\'a2\\'c3\\'bb\\'d3\\'d0\\'c9\\'f3\\'ba\\'cb\\'d4\\'f2\\'b2\\'bb\\'c4\\'dc\\'b1\\'bb\\'cf\\'c2\\'bc\\'b6\\'b5\\'a5\\'d2\\'fd\\'d3\\'c3\\par\r\n\\par\r\n6.\\'d4\\'b4\\'b5\\'a5\\'b1\\'bb\\'cf\\'c2\\'bc\\'b6\\'b5\\'a5\\'d2\\'fd\\'d3\\'c3\\'d4\\'f2\\'b2\\'bb\\'c4\\'dc\\'b7\\'b4\\'c9\\'f3\\par\r\n\\par\r\n7.\\'bf\\'cd\\'bb\\
'a7\\'b1\\'e0\\'ba\\'c5\\'b2\\'bb\\'c4\\'dc\\'cf\\'e0\\'cd\\'ac\\par\r\n}\r\n\0"
请问下大家这种情况可以直接将内容转为字符串吗?
5 个解决方案
#1
http://www.biblioscape.com/rtf15_spec.htm
https://baike.baidu.com/item/%E5%AF%8C%E6%96%87%E6%9C%AC%E6%A0%BC%E5%BC%8F/1017816
关键字都给你了,自己努力。
#2
大概原因是清楚的,可能是因为包括的格式信息。 有没有快捷一些的方式转为字符串呢?
#3
大概原因是清楚的,可能是因为包括的格式信息。 有没有快捷一些的方式转为字符串呢?
自己百度,github找找吧,关键字给你了自己动手丰衣足食。
#4
用了一个蠢点的方法
RichTextBox rtb = new RichTextBox();
System.IO.MemoryStream mstream = new System.IO.MemoryStream(d.DAContent, false);
rtb.LoadFile(mstream, RichTextBoxStreamType.RichText);
string _content = rtb.Text;
RichTextBox rtb = new RichTextBox();
System.IO.MemoryStream mstream = new System.IO.MemoryStream(d.DAContent, false);
rtb.LoadFile(mstream, RichTextBoxStreamType.RichText);
string _content = rtb.Text;
#5
用了一个蠢点的方法
RichTextBox rtb = new RichTextBox();
System.IO.MemoryStream mstream = new System.IO.MemoryStream(d.DAContent, false);
rtb.LoadFile(mstream, RichTextBoxStreamType.RichText);
string _content = rtb.Text;
这好像是依赖和代码量最少,开发速度最快的方法了。
#1
我是先将RichTextBox的内容存到数据库中,数据库中对应的列类型为 varbinary(MAX)
格式转化代码如下:
System.IO.MemoryStream mstream = new System.IO.MemoryStream();
this.DAContent.SaveFile(mstream, RichTextBoxStreamType.RichText);
byte[] bWrite = mstream.ToArray();
然后将bWrite存入到数据库中,
然后,我再从数据库将内容取出来,想转为字符串返回给用户,但不管用什么编码转换,都转不成字符串形式,转换的结果就像下面这样:
"{\\rtf1\\ansi\\deff0{\\fonttbl{\\f0\\fnil\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}}\r\n\\viewkind4\\uc1\\pard\\lang2052\\f0\\fs18 1.\\'bf\\'cd\\'bb\\'a7\\'d0\\'c5\\'cf\\'a2\\'d0\\'e8\\'cc\\'ee\\'d0\\'b4\\'d5\\'fd\\'c8\\'b7\\par\r\n\\par\r\n2.\\'d6\\'f7\\'d2\\'aa\\'d0\\'c5\\'cf\\'a2\\'b1\\'d8\\'d0\\'eb\\'cc\\'ee\\'d0\\'b4\\par\r\n\\par\r\n3.\\'bf\\'cd\\'bb\\'a7\\'d0\\'c5\\'cf\\'a2\\'c8\\'e7\\'d3\\'d0\\'b8\\'fc\\'b8\\'c4\\'a3\\'ac\\'d0\\'e8\\'cd\\'ac\\'b2\\'bd\\'b8\\'fc\\'d0\\'c2\\par\r\n\\par\r\n4.\\'c8\\'e7\\'bf\\'cd\\'bb\\'a7\\'d2\\'d1\\'b6\\'b3\\'bd\\'e1\\'d4\\'f2\\'b2\\'bb\\'c4\\'dc\\'b1\\'bb\\'cf\\'c2\\'bc\\'b6\\'b5\\'a5\\'d2\\'fd\\'d3\\'c3\\par\r\n\\par\r\n5.\\'bf\\'cd\\'bb\\'a7\\'d0\\'c5\\'cf\\'a2\\'c3\\'bb\\'d3\\'d0\\'c9\\'f3\\'ba\\'cb\\'d4\\'f2\\'b2\\'bb\\'c4\\'dc\\'b1\\'bb\\'cf\\'c2\\'bc\\'b6\\'b5\\'a5\\'d2\\'fd\\'d3\\'c3\\par\r\n\\par\r\n6.\\'d4\\'b4\\'b5\\'a5\\'b1\\'bb\\'cf\\'c2\\'bc\\'b6\\'b5\\'a5\\'d2\\'fd\\'d3\\'c3\\'d4\\'f2\\'b2\\'bb\\'c4\\'dc\\'b7\\'b4\\'c9\\'f3\\par\r\n\\par\r\n7.\\'bf\\'cd\\'bb\\
'a7\\'b1\\'e0\\'ba\\'c5\\'b2\\'bb\\'c4\\'dc\\'cf\\'e0\\'cd\\'ac\\par\r\n}\r\n\0"
请问下大家这种情况可以直接将内容转为字符串吗?
http://www.biblioscape.com/rtf15_spec.htm
https://baike.baidu.com/item/%E5%AF%8C%E6%96%87%E6%9C%AC%E6%A0%BC%E5%BC%8F/1017816
关键字都给你了,自己努力。
#2
我是先将RichTextBox的内容存到数据库中,数据库中对应的列类型为 varbinary(MAX)
格式转化代码如下:
System.IO.MemoryStream mstream = new System.IO.MemoryStream();
this.DAContent.SaveFile(mstream, RichTextBoxStreamType.RichText);
byte[] bWrite = mstream.ToArray();
然后将bWrite存入到数据库中,
然后,我再从数据库将内容取出来,想转为字符串返回给用户,但不管用什么编码转换,都转不成字符串形式,转换的结果就像下面这样:
"{\\rtf1\\ansi\\deff0{\\fonttbl{\\f0\\fnil\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}}\r\n\\viewkind4\\uc1\\pard\\lang2052\\f0\\fs18 1.\\'bf\\'cd\\'bb\\'a7\\'d0\\'c5\\'cf\\'a2\\'d0\\'e8\\'cc\\'ee\\'d0\\'b4\\'d5\\'fd\\'c8\\'b7\\par\r\n\\par\r\n2.\\'d6\\'f7\\'d2\\'aa\\'d0\\'c5\\'cf\\'a2\\'b1\\'d8\\'d0\\'eb\\'cc\\'ee\\'d0\\'b4\\par\r\n\\par\r\n3.\\'bf\\'cd\\'bb\\'a7\\'d0\\'c5\\'cf\\'a2\\'c8\\'e7\\'d3\\'d0\\'b8\\'fc\\'b8\\'c4\\'a3\\'ac\\'d0\\'e8\\'cd\\'ac\\'b2\\'bd\\'b8\\'fc\\'d0\\'c2\\par\r\n\\par\r\n4.\\'c8\\'e7\\'bf\\'cd\\'bb\\'a7\\'d2\\'d1\\'b6\\'b3\\'bd\\'e1\\'d4\\'f2\\'b2\\'bb\\'c4\\'dc\\'b1\\'bb\\'cf\\'c2\\'bc\\'b6\\'b5\\'a5\\'d2\\'fd\\'d3\\'c3\\par\r\n\\par\r\n5.\\'bf\\'cd\\'bb\\'a7\\'d0\\'c5\\'cf\\'a2\\'c3\\'bb\\'d3\\'d0\\'c9\\'f3\\'ba\\'cb\\'d4\\'f2\\'b2\\'bb\\'c4\\'dc\\'b1\\'bb\\'cf\\'c2\\'bc\\'b6\\'b5\\'a5\\'d2\\'fd\\'d3\\'c3\\par\r\n\\par\r\n6.\\'d4\\'b4\\'b5\\'a5\\'b1\\'bb\\'cf\\'c2\\'bc\\'b6\\'b5\\'a5\\'d2\\'fd\\'d3\\'c3\\'d4\\'f2\\'b2\\'bb\\'c4\\'dc\\'b7\\'b4\\'c9\\'f3\\par\r\n\\par\r\n7.\\'bf\\'cd\\'bb\\
'a7\\'b1\\'e0\\'ba\\'c5\\'b2\\'bb\\'c4\\'dc\\'cf\\'e0\\'cd\\'ac\\par\r\n}\r\n\0"
请问下大家这种情况可以直接将内容转为字符串吗?
http://www.biblioscape.com/rtf15_spec.htm
https://baike.baidu.com/item/%E5%AF%8C%E6%96%87%E6%9C%AC%E6%A0%BC%E5%BC%8F/1017816
关键字都给你了,自己努力。
大概原因是清楚的,可能是因为包括的格式信息。 有没有快捷一些的方式转为字符串呢?
#3
大概原因是清楚的,可能是因为包括的格式信息。 有没有快捷一些的方式转为字符串呢?
自己百度,github找找吧,关键字给你了自己动手丰衣足食。
#4
用了一个蠢点的方法
RichTextBox rtb = new RichTextBox();
System.IO.MemoryStream mstream = new System.IO.MemoryStream(d.DAContent, false);
rtb.LoadFile(mstream, RichTextBoxStreamType.RichText);
string _content = rtb.Text;
RichTextBox rtb = new RichTextBox();
System.IO.MemoryStream mstream = new System.IO.MemoryStream(d.DAContent, false);
rtb.LoadFile(mstream, RichTextBoxStreamType.RichText);
string _content = rtb.Text;
#5
用了一个蠢点的方法
RichTextBox rtb = new RichTextBox();
System.IO.MemoryStream mstream = new System.IO.MemoryStream(d.DAContent, false);
rtb.LoadFile(mstream, RichTextBoxStreamType.RichText);
string _content = rtb.Text;
这好像是依赖和代码量最少,开发速度最快的方法了。