将带符号格式的字节转换为无符号字节

时间:2014-11-15 17:14:22

标签: c# byte unsigned signed

如何将存储的字节数据转换为无符号字节?

原因是因为我有一些旧的声音文件(来自Amiga),但它们存储在使用有符号字节的IFF 8SVX中。

2 个答案:

答案 0 :(得分:0)

以下是:

public void convertSignedToUnsignedBytes(byte[] b)
{
    for (int i = 0; i < b.Length; i++) {
        if (b[i] >= 128) b[i] -= 128;
        else b[i] += 128;
    }
}

答案 1 :(得分:0)

如果您从sbyte[] signedBytes开始,请尝试以下操作:

byte[] unsignedBytes = signedBytes.Select(sb => (byte)sb).ToArray();