C# 转换文本框';将文本转换为字符串以用作字节

C# 转换文本框';将文本转换为字符串以用作字节,c#,asp.net,textbox,byte,C#,Asp.net,Textbox,Byte,好的,我想在我的c#表单上有几个文本框,然后当点击某个按钮时,它会将每个文本框中的文本转换成一个字节,然后写入文件。 我知道怎么做,但是把文本框的文本转换成一个字节。有人能帮忙吗? 文本框文本已经是十六进制格式,因此不必进行转换。对于给定的文本框: byte data = byte.Parse(textBox1.Text, NumberStyles.AllowHexSpecifier); 第二个参数允许解析十六进制格式。当然如果给定值太大;你会有一些问题(它会抛出)。您可以始终使用TryPar

好的,我想在我的c#表单上有几个文本框,然后当点击某个按钮时,它会将每个文本框中的文本转换成一个字节,然后写入文件。 我知道怎么做,但是把文本框的文本转换成一个字节。有人能帮忙吗? 文本框文本已经是十六进制格式,因此不必进行转换。

对于给定的文本框:

byte data = byte.Parse(textBox1.Text, NumberStyles.AllowHexSpecifier);
第二个参数允许解析十六进制格式。当然如果给定值太大;你会有一些问题(它会抛出)。您可以始终使用
TryParse

byte.TryParse的MSDN:()


MSDN对于NumberStyles枚举:()

您可以将字节作为1和0写入文本文件

下面的示例假设您有一个名为textbox1的文本框,一个名为buttonRecord\u click的按钮单击事件,并且在代码顶部包含了对System.IO命名空间的引用(使用System.IO;)。将“PathOfYourTextFile.txt”替换为实际路径

private void buttonRecordBytes_Click(object sender, EventArgs e)
    {
        // Break if textbox1 is empty.
        if (string.IsNullOrEmpty(textbox1.Text))
            return;

        // Variables:
        int charCount = textbox1.Text.Length;
        byte[] bytes = new byte[charCount];
        string[] byteStrings = new string[charCount];

        // StreamWriter will write the bytes to the text file.
        StreamWriter sw = new StreamWriter("PathOfYourTextFile.txt", true);

        // Record each character byte in textfile.
        int i = 0;
        foreach (char c in textbox1.Text)
        {
            // ASCII:
            try
            {
                bytes[i] = Convert.ToByte(c);
                byteStrings[i] = Convert.ToString(bytes[i], 2).PadLeft(8, '0');
            }
            // UTF8:
            catch
            {
                bytes[i] = Encoding.UTF8.GetBytes(c.ToString().ToCharArray())[i];
                byteStrings[i] = Convert.ToString(bytes[i], 2).PadLeft(24, '0');
            }

            // Append character and bit info to textfile.
            sw.WriteLine("Character \"" + c.ToString() + "\" bits as ones and zeros: " +
                byteStrings[i]);

            ListViewItem lvi = new ListViewItem(i.ToString());
            lvi.SubItems.Add(c.ToString());
            lvi.SubItems.Add(byteStrings[i]);
            listviewBytes.Items.Add(lvi);

            i++;
        }
    sw.Close();
    }

你说的“把它变成一个字节”是什么意思?字节只能保存0-255之间的数值,而文本框包含任意长度的字符串。如果要将文本框的文本写入文件,则无需执行任何数据类型转换。好的,这样做可以,但由于某种原因,我无法写入存储的字节。@JoeOliveira听起来像是另一个问题:)您可能还有其他问题(一定要先做研究!如果你能找到20个代表,你也可以在聊天中提问。@bardleydotnet我做了研究,但到目前为止没有任何结果。好吧;但我无法解决盲人的问题。如果你在写字节时遇到困难,请提出新问题(如果提供上下文,请随时链接到这个问题)。