将文本转换为位(1和0)

时间:2010-05-25 10:38:22

标签: c# .net arrays hash

我正在实现一个MD-5 Hashing算法,我想将我的文本转换为位,以便我可以开始操作它们。如你所知,Hashing需要占用位块然后操纵它们。有很多方法可以做到这一点,但我无法确定将文本(字符串)转换为位数组的最佳/最简单方法。任何线索?在C#

3 个答案:

答案 0 :(得分:2)

Encoding.GetBytes(string s)see msdn。当然,您必须根据所需的编码选择拟合编码。

答案 1 :(得分:1)

一旦你按照建议使用Encoding.GetBytes(string s),你就可以将byte []传递给BitArray类的构造函数:

  

管理一个紧凑的位值数组,表示为布尔值,其中true表示该位为on(1),false表示该位为off(0)。

答案 2 :(得分:0)

这就是你要求的。

    protected void Page_Load(object sender, EventArgs e)
    {
        var x = GetBits("0101010111010010101001010");
    }

    private bool[] GetBits(string sBits)
    {
        bool[] aBits = new bool[sBits.Length];

        for (var i = 0; i < aBits.Length; i++)
        {
            aBits[i] = sBits[i] == '1';
        }

        return aBits;
    }