无法从字符串中获取字节 []
本文关键字:字节 获取 字符串 | 更新日期: 2023-09-27 18:31:01
好的,所以我之前问过一个问题,但我想这还不够清楚。这是有问题的代码
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。我希望这更有意义。
只需将行更改为:
byte[] b1 = Encoding.UTF8.GetBytes(textBox1.Text);
正如上面的答案所说,这将纠正代码
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();