C#如何将textBox1输入的文本转换为二进制并显示在textBox2中
C# 文本转二进制字符串实现方案
你需要先将输入文本按指定编码转为字节数组,再将每个字节转换为固定8位的二进制字符串拼接即可,完整实现方案如下:
首先引入必要命名空间:
using System.Text;
事件内的业务代码:
// 此处使用UTF-8编码,可按需替换为 Encoding.ASCII、Encoding.GetEncoding("GB2312") 等其他编码 byte[] inputBytes = Encoding.UTF8.GetBytes(textBox1.Text); StringBuilder binaryStrBuilder = new StringBuilder(); foreach (byte singleByte in inputBytes) { // 转换为二进制并补前导0,保证每个字节对应8位二进制字符 binaryStrBuilder.Append(Convert.ToString(singleByte, 2).PadLeft(8, '0')); // 若需要字节之间用空格分隔,取消下面一行的注释即可 // binaryStrBuilder.Append(' '); } textBox2.Text = binaryStrBuilder.ToString();
注意事项
- 如果输入包含中文等非ASCII字符,请勿使用ASCII编码,否则会出现乱码,推荐优先使用UTF-8编码
- 如果不需要固定8位输出,可以去掉
PadLeft(8, '0')方法调用,不过会导致不同字节输出的二进制位数不一致,可读性较差

内容的提问来源于stack exchange,提问作者Mazen Nawlo
相关产品推荐
相关产品推荐

