将char转换为byte

本文关键字:byte 转换 char | 更新日期: 2023-09-27 18:12:01

我正在尝试将字符数组转换为字节。但是我得到了下面的错误:

不能隐式地将int转换为字节

public byte[] asciiToDecConversion(char[] asciiCharArray)
{
    byte[] decimalArray = new byte[10];
    const byte asciiFormat = 32;
    for (int j = 0; j < 10; j++)
    {
        decimalArray[j] = (Convert.ToByte(asciiCharArray[j]) - asciiFormat);
    }
    return decimalArray;
}

将char转换为byte

需要转换为byte:

decimalArray[j] = (byte) (Convert.ToByte(asciiCharArray[j]) - asciiFormat);

您应该能够直接强制转换它:

decimalArray[j] = (byte)(asciiCharArray[j] - asciiFormat);

你可以做这样简单的事情:

char[] charArray = "your string".ToCharArray(); // For example.
byte[] byteArray = charArray.Select(c => (byte)(c - 32)).ToArray();

请记住,如果asciiCharArray的元素少于10个,您的代码将会失败。