C#怎么输入几个ASCII码用空格隔开然后转成相应字符呢

XL627957378 2015-12-16 12:46:25
string str5 = txt_char.Text;
char[] separator = { ' ' };
string[] splitstrings = new String[100];
splitstrings = str5.Split(separator);
for (int i = 0; i < splitstrings.Length; i++)
{
int j = Int32.Parse(splitstrings[i]);
if (j >= 0 && j <= 255)
{
System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
byte[] byteArray = new byte[] { (byte)j };
splitstrings[i] = asciiEncoding.GetString(byteArray);
StringBuilder MyStringBuilder = new StringBuilder();
MyStringBuilder.Append(splitstrings[i]);

string str6 = MyStringBuilder.ToString();

txt_ASCII.Text = str6;
}
else
{
throw new Exception("ASCII Code is not valid.");
}

}



我是先把他们用空格拆分开 然后分别转字符 然后再合并 可是实现不了功能 请大神们看看怎么弄才行、、
...全文
477 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
richer 2015-12-17
  • 打赏
  • 举报
回复
楼上说的对。 另外需要注意的是一些ASCII 在TextBox是无法正常显示的。如果只是需要能正常显示的部分,需要调整j的数值范围。 具体可以参考ASCII列表 http://baike.baidu.com/link?url=Bc-egYxjybwgIrHM7DjRvKU39dThWBd6REFSgpSnWTRWTzEpyQvBiYkyIk9If-374TJTtc-r83ng9CoKH3n-6q
xdashewan 2015-12-16
  • 打赏
  • 举报
回复
你如何把string拆成byte数组,就如何把所有数字放入byte数组,然后转回string
a12108020 2015-12-16
  • 打赏
  • 举报
回复
我试了楼主的代码,前边的都没有问题,txt_ASCII.Text = str6;中,str6是单个字符。应该改成txt_ASCII.Text += str6,将前边的字符串组合起来就OK了。求给分
caojinrong 2015-12-16
  • 打赏
  • 举报
回复
ASCII字符集是所有字符集的子集,取值范围0~127,非0~255(ISO8859-1),直接强制转换即可,if(j>=0 && j<128) c =(char)(byte)j;
                    StringBuilder MyStringBuilder = new StringBuilder();
                    MyStringBuilder.Append(splitstrings[i]);
                    
                    string str6  = MyStringBuilder.ToString();

                    txt_ASCII.Text = str6;
这几句放置位置不对,楼主的意思应该是所有字符连成串后输出吧?怎么每次循环都输出呢?这样你就只能看到最后一个字符了。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧