在Array上进行二进制到文本编码

时间:2014-04-14 20:48:44

标签: encoding character-encoding binary urlencode url-encoding

我有一个整数数组:

arr = [83,107,57,74,84,103,61,61];

我需要通过函数传递它以获取消息(字符串)。

String msg = f(arr);

仅给出f是二进制到文本编码功能。

如何获取字符串。我试着在网上搜索很多东西。甚至把char取值为ascii,但它没有用。 61给出' ='哪个不能进入消息。 你们中的任何人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

这是C#

中的一个例子
class Program
{
    static void Main(string[] args)
    {
        int[] nx = StringToIntArray(IntArrayToString(new int[] { 1, 2, 3 }));

        foreach (int n in nx)
        {
            Console.WriteLine(n);
        }

        Console.ReadKey();
    }

    static string IntArrayToString(int[] nx)
    {
        byte[] bx = new byte[nx.Length * 4];

        for (int i = 0; i < nx.Length; i++)
        {
            BitConverter.GetBytes(nx[i]).CopyTo(bx, i * 4);
        }

        return Convert.ToBase64String(bx);
    }

    static int[] StringToIntArray(string str)
    {
        byte[] bx = Convert.FromBase64String(str);

        int len = bx.Length / 4;

        int[] nx = new int[len];

        for (int i = 0; i < len; i++)
        {
            nx[i] = BitConverter.ToInt32(bx, i * 4);
        }

        return nx;
    }
}