| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5579 人关注过本帖
标题:字母转换为ASCII码程序的菜鸟问题
取消只看楼主 加入收藏
yyqzou
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2013-3-6
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:3 
字母转换为ASCII码程序的菜鸟问题
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 开发入门及项目实践第4章1_ASCII
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text!=string.Empty)
            {
                if (Encoding.GetEncoding("unicode").GetBytes(new char[] { textBox1.Text[0] })[1] == 0)//为什么这里要等于0?[1]是什么意思?是指textBox1.Text[0]的第二个数组名?,如果删去==0它就说无法将类型byte隐式转换为bool?//书上说此代码为判断输入是否为字母?为什么我将[1]改为[0]系统就说"请重新输入字母!"?
                {
                    textBox2.Text = Encoding.GetEncoding("unicode").GetBytes(textBox1.Text)[0].ToString();//此代码就是将(textBox1.Text)[0]的值以字符串的形式转换于unicode,unicode为ASCII的意思吗???为什么[0]要放在括号外面啊????
                }
                else
                {
                    textBox2.Text = string.Empty;
                    MessageBox.Show("请重新输入字母!");
                }
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (textBox3.Text!=string.Empty)
            {
                int i;
                if (int.TryParse(textBox3.Text,out i))
                {
                    textBox4.Text = ((char)i).ToString();//将ASCII码转换为字符??? string j="a" ;
                    // 下面这个代码  string k = Encoding.GetEncoding("unicode").GetBytes(new char[] { j[0] })[0].ToString();不是将ASCII码转换为字符???
                }
                else
                {
                    MessageBox.Show("请正确输入ASCII码值");
                }
            }
            string j="a" ;
            string k = Encoding.GetEncoding("unicode").GetBytes(new char[] { j[0] })[1].ToString();//为什么这里要等于0?[0]是什么意思?是指textBox1.Text[0]的第一个数组名?
            //string k 与上面的if语句又有什么关系呢???为什么将后一个[0]改成[1]就还能运行呢???new char[] { k[0] }究竟是什么意思啊??
搜索更多相关主题的帖子: namespace private public 开发 
2013-03-18 15:29
yyqzou
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2013-3-6
收藏
得分:0 
int P_scalar = 0;//定义值类型变量并赋值为0
            Regex P_regex = new Regex("^[\u4E00-\u9FA5]{0,}$"); //创建正则表达式对象,用于判断字符是否为汉字//\u不是指Unicode对字符串变量进行赋值吗?难道9FA5与4E00就是值,但这个值又表示什么意义呢?如果不是那么E,F,A有各自表示什么意思呢?为什么9FA5与4E00不可以更改,各自表示什么意思???{0,}又是什么意思啊?
当中的-号又是什么意思啊???
               
            for (int i = 0; i < txt_str.Text.Length; i++)//遍历字符串中每一个字符
            {
                P_scalar =P_regex.IsMatch(txt_str.Text[i].ToString()) ? ++P_scalar : P_scalar;
                    
         //"如果检查的字符是汉字则计数器加1"这句话是什么意思???
             }
            txt_count.Text = P_scalar.ToString();//显示汉字数量
2013-03-18 16:31
yyqzou
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2013-3-6
收藏
得分:0 
回复 2楼 yhlvht
不愧是顶级大神!!!我彻底搞懂啦!
2013-03-18 17:07
yyqzou
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2013-3-6
收藏
得分:0 
回复 2楼 yhlvht
private void button2_Click(object sender, EventArgs e)
        {
            if (textBox3.Text != string.Empty)
            {
                int i;
                if (int.TryParse(textBox3.Text, out i))
                {
                    textBox4.Text = ((char)i).ToString(); ;//就靠 textBox4.Text = ((char)i).ToString();就将ASCII码转换为字符???为什么我注销掉  //string j = "a"; //string k = Encoding.GetEncoding("unicode").GetBytes(new char[] { j[0] })[1].ToString();还是能将ASCII码转换成字母啊!为什么呢???既然如此的话 //string j = "a"; //string k=Encoding.GetEncoding("unicode").GetBytes(new char[] { j[0] })[1].ToString();还有写的必要吗???

                  
                }
                else
                {
                    MessageBox.Show("请正确输入ASCII码值");//整个if语句貌似和下面 string j = "a";// string k = Encoding.GetEncoding("unicode").GetBytes(new char[] { j[0] })[1].ToString();没有联系啊!
                }
            }
            string j = "a";
            string k = Encoding.GetEncoding("unicode").GetBytes(new char[] { j[0] })[1].ToString();//如果输入14927就输出“㩏“这个字,这个字不是英文字母啊!这个k和上面怎么看也没有联系啊!有没有什么方法能使程序输入只能显示ASII所能转化的字母(就是只有标点符号与因为字母和数字)
        }

    }
2013-03-18 18:15
快速回复:字母转换为ASCII码程序的菜鸟问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020896 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved