在foreach语句中字符串的字节

时间:2015-12-15 10:36:46

标签: c#

我正在尝试编写一种方法,通过在每个字符的字节值中加2来加扰消息,然后打印新消息。这是我到目前为止所得到的:

public static void MsgToCode(string value)
    {

        byte[] bytes = System.Text.Encoding.UTF8.GetBytes(value);
        foreach (var item in bytes)
        {
            byte b2= item;
            b2 = (byte)(b2 + 2);


        }
        Console.ReadLine();
    }

我尝试在foreach语句中使用b2.ToString。但它不起作用。我做错了什么?

2 个答案:

答案 0 :(得分:0)

如果尝试将字符(255)+ 2转换为字节,会发生什么? 你可能不得不重新考虑你在这做什么。如果您只想加密文本,可以使用几个库!

答案 1 :(得分:-1)

这是你在找什么?

static void Main(string[] args)
{
    MsgToCode("Test");
}

public static void MsgToCode(string value)
{
    var bytes = System.Text.Encoding.UTF8.GetBytes(value);
    var newBytes = new byte[bytes.Length];
    for (int i = 0; i < bytes.Length; i++)
    {
        var newValue = Convert.ToInt32(bytes[i]) + 2;
        if (newValue > 255)
            newValue -= 255;
        newBytes[i] = Convert.ToByte(newValue);
    }
    Console.WriteLine(System.Text.Encoding.UTF8.GetString(newBytes));
    Console.ReadLine();
}

或许你想要这个

{{1}}