C#编程求助:编写一个应用程序对输入的字符串进行加密,对于字母字符串加密的额规则如下:

'a'--->'d' 'b'--->'e'.............. A--->D W-->Z.......就是加密后的字母与加密前的字母差2个字母。大小写都是差2个。
对于其他字符,不进行加密。(希望高手指点)

// str 为 需要进行转换的字符串.
public static string ConvertCode(string str)
{
System.Text.StringBuilder strBuilder=new System.Text.StringBuilder();
foreach(char ch in str)
{
if((ch>=65 && ch<=90) || (ch>=97 && ch<=122))
{ //+3 才会是 a --> d b -->e
strBuilder.Append(Convert.ToChar(Convert.ToInt32(ch)+3).ToString());
}
else
{
strBuilder.Append(ch.ToString());
}
}
return strBuilder.ToString();
}

手写的,不知道有没那单词写错,你可以丢到vs里面看看有没出现单词写错的情况, 如果没有,直接调用这个方法就可以的.
你的字母 +3 不代表返回的全部都是字母 z +3 = ] ; Z+3 =} 会出现这两个符号. 所以如果在还原的时候,如果原始字符串中就有 ] } 两个符号, 有可能出错, 这点请注意
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-23
先转成ascii,+2再转回来追问

怎样把字母转换成ascii码啊/?