工作任务是做一个rtf的阅读器,格式的转换都没有什么问题
可是在RTF文件中,中文等双字节字符采用其单字节ASCII码序列表示,例如文本“宋体ABC”表示为:\'cb\'ce\'cc\'e5ABC
如何把单字节ASCII码转变成双字节的中文呢?
可是在RTF文件中,中文等双字节字符采用其单字节ASCII码序列表示,例如文本“宋体ABC”表示为:\'cb\'ce\'cc\'e5ABC
如何把单字节ASCII码转变成双字节的中文呢?
using System.Text;
string strValue = Encoding.ASCII.GetString( yourByteArray );
byte[] sby1 =System.Text.Encoding.ASCII.GetBytes("cbce");
string strValue = Encoding.ASCII.GetString( sby1);
这样还是会返回“cbce”
是不是对"cbce"做16进制转换?
bytes[0] = 0xcb;
bytes[1] = 0xce;
MessageBox.Show(Encoding.Default.GetString(bytes));//输出"宋"
byte[] bBuffer = new byte[2];
bBuffer[0] = Convert.ToByte( "cb" );
bBuffer[1] = Convert.ToByte( "ce" );
string strValue = Encoding.ASCII.GetString( bBuffer );
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误:
行 81:
行 82: byte[] bBuffer = new byte[2];
行 83: bBuffer[0] = Convert.ToByte( "cb" );
行 84: bBuffer[1] = Convert.ToByte( "ce" );
行 85: string strValue = Encoding.ASCII.GetString( bBuffer );
?????是什么原因啊?
怎么把string 型的变成byte型的啊