none
算数问题(求解) RRS feed

  • 问题

  • 这个问题是关于密码的运算的。
    asp写法为:dim rs
    admin1=request("logname")
    password1=request("pwd")
    set rs=server.CreateObject("ADODB.RecordSet")
     password=""
    if Len(password1)>0 then
    For i = 1 To Len(password1)
    password = password + Chr(159 - Asc(Mid(password1, i, 1)))
     Next
     end if

    得到结果为:0表示o,1表示n,依次类推9表示f.
    请问下 如何才能用C#表示出这样的效果呀 ··我写出来的效果只能输出一个字符。而且算法不正确,如何多个数字输出以后转化呢??
    2010年1月19日 3:31

答案

  • 你好··如果我写出来了。。跟大家分享下··
    if (TextBox2.Text.Length > 0)
            {
                for (int i = 0; i < TextBox2.Text.Length; i++)
               {
                  
            string aaa  = System.Text.Encoding.ASCII.GetBytes(TextBox2.Text.Substring(i, 1))[0].ToString();

                   TextBox1.Text = Convert.ToChar(159-Convert.ToInt32(aaa)).ToString();
    }
    但是我想问  如果变成多个字符的话 该如何处理呢?

    • 已标记为答案 Jan coki 2010年1月19日 9:03
    2010年1月19日 8:42

全部回复

  • 上面的 问题解不出来 没关系 。但是能跟我说下 怎么 将 字符转化成ASCII吗??
    比如将A转化成65

    2010年1月19日 7:19
  • 你好!

    C# 中使用 int a = 'A'; 就可以获取到。

    知识改变命运,奋斗成就人生!
    2010年1月19日 7:28
    版主
  • 你好XXY 
    但是这个 方法 只能转单个的 ··还是绝对值的 ···
    如果 我用TextBox2.Text.Substring(i, 1)写的话 不就 不可以了吗?

    2010年1月19日 7:52
  • 当然是可以的呀。

    string input = "ABCD";

    // 获取单个
    int wordIndex = 2;
    int single = input.ToCharArray()[wordIndex];

    // 获取所有字符以, 分隔。
    string output = String.Empty;
    foreach (int c in input.ToCharArray())
    {
        if (!String.IsNullOrEmpty(output))
            output += ",";
        output += c.ToString();
    }

    //或者
    byte[] byteOutput = System.Text.Encoding.ASCII.GetBytes(input);


    知识改变命运,奋斗成就人生!
    2010年1月19日 7:57
    版主
  • 你好 ··XXY  我也成

    TextBox1.Text = System.Text.Encoding.ASCII.GetBytes(TextBox2.Text.Substring(i, 1)).ToString();

    输出到 TEXTBOX1.TEXT中。可是 为什么 输出的结果 是system.byte[] 
    如果不加入tostring(),就会报错  ···请问 该怎么办??
    2010年1月19日 8:13
  • 你好!

    如果你只想显示一个字符的 ascii 你使用 System.Text.Encoding.ASCII.GetBytes(TextBox2.Text.Substring(i, 1))[0].ToString();

    知识改变命运,奋斗成就人生!
    2010年1月19日 8:16
    版主
  • 你好··如果我写出来了。。跟大家分享下··
    if (TextBox2.Text.Length > 0)
            {
                for (int i = 0; i < TextBox2.Text.Length; i++)
               {
                  
            string aaa  = System.Text.Encoding.ASCII.GetBytes(TextBox2.Text.Substring(i, 1))[0].ToString();

                   TextBox1.Text = Convert.ToChar(159-Convert.ToInt32(aaa)).ToString();
    }
    但是我想问  如果变成多个字符的话 该如何处理呢?

    • 已标记为答案 Jan coki 2010年1月19日 9:03
    2010年1月19日 8:42