好的,所以我早些时候问了一个问题但是我觉得它还不够明确。 继承受困扰的代码
byte data4 = byte.Parse(textBox1.Text, System.Globalization.NumberStyles.AllowHexSpecifier);
byte data1 = byte.Parse(textBox2.Text, System.Globalization.NumberStyles.AllowHexSpecifier);
byte data2 = byte.Parse(textBox3.Text, System.Globalization.NumberStyles.AllowHexSpecifier);
string Text = "" + textBox1.Text;
**byte[] b1 = textBox1.Text.Encoding.UTF8.GetBytes(Text);**
它是c#中button_click函数的一部分。 我的目标是转换一组文本框'将文本转换为字节,然后我可以使用它来写入打开的文件。使用stared代码,它总是会给出一个错误,即字符串没有编码定义。我将净框架设置为4.5。我希望这更有意义。
答案 0 :(得分:4)
只需将该行更改为:
byte[] b1 = Encoding.UTF8.GetBytes(textBox1.Text);
答案 1 :(得分:1)
如上所述,这将纠正代码
byte[] b1 = Encoding.UTF8.GetBytes(textBox1.Text);
但是,如果目的是序列化到文件,则另一个选项是:
// using System.Runtime.Serialization.Formatters.Binary
Stream stream = File.Open(filename, FileMode.Create,FileAccess.ReadWrite);
BinaryFormatter format = new BinaryFormatter();
format.Serialize(stream, textBox1.Text);
stream.Close();
然后阅读
Stream stream = File.Open(filename, FileMode.Open,FileAccess.Read);
BinaryFormatter format = new BinaryFormatter();
text=(string)format.Deserialize(stream); // will throw exception if data is not right
stream.Close();