关于C#:如何将编码结果设置为文本框

How to set encoding result to TextBox

本问题已经有最佳答案,请猛点这里访问。

如何将编码结果设置为TextBox

1
2
3
4
string myString;
myString ="Hello World";
byte[] data = Encoding.ASCII.GetBytes(myString);
textBox1.Text = data.ToString();

这在TextBox中显示"system.byte[]",但我想在TextBox中显示十六进制结果。


您不能设置文本框的编码,但听起来您只是想在文本框中显示一些二进制数据…例如,你想要十六进制吗?如果是这样,BitConverter.ToString(byte\[\])就是你的朋友:

1
textBox1.Text = BitConverter.ToString(data);

…会给你一些像48-65-6C-6C-6F-20-57-6F-72-6C-64一样的东西。如果需要,可以使用string.Replace删除连字符,例如

1
textBox1.Text = BitConverter.ToString(data).Replace("-","");

当然,二进制数据也可以用文本来表示。例如,您可以使用base64:

1
textBox1.Text = Convert.ToBase64String(data);

但我怀疑赫克斯是你想要的。


我说的对吗?你在找一个十六进制的字节转储?如果是,请尝试如下操作:

1
textBox1.Text = BitConverter.ToString(data);


要获得byte[]string结果,可以使用:

1
textBox1.Text = Encoding.ASCII.GetString(data)