C#如何在数组中存储字符串并将其转换为它的Ascii值

时间:2014-06-02 10:01:05

标签: c# arrays ascii

我对C#很陌生,我试图创建安全登录。我想要做的是输入密码时,密码字符串将被放入一个大小为8的数组中,并且数组的每个字节都将转换为它的ASCII值并存储复制到阵列。

我遇到了错误等问题,例如"无法隐式转换类型' int'到' p []'"。

  public int hasher(string password, string id)
    {
        int[] p = new int[8];
        int[] a = new int[8];
        p[] = System.Convert.ToInt32(password);

        return 0;
    }

1 个答案:

答案 0 :(得分:5)

ASCII是byte数据,而不是int;

byte[] bytes = Encoding.ASCII.GetBytes(password);

如果你真的必须有整数:

int[] bytes = Array.ConvertAll(Encoding.ASCII.GetBytes(password), b => (int)b);

请注意,如果password中的任何一个是非ASCII,那么您将获得未定义的输出。例如,?代替某些字符。