所以我正在用Java编写一个进行幅度解调的程序。我正在逐个读取正弦波值并确定我是“1”还是“0”。现在我将它们保存为字符,但我愿意接受建议。我知道每比特的样本数,所以确定比特不是问题。
我想不出将每组 8 位转换为一个字节的方法,因此我可以使用 UTF-8 解码最终的字节数组。有没有一种有效的方法来做到这一点?
所以我正在用Java编写一个进行幅度解调的程序。我正在逐个读取正弦波值并确定我是“1”还是“0”。现在我将它们保存为字符,但我愿意接受建议。我知道每比特的样本数,所以确定比特不是问题。
我想不出将每组 8 位转换为一个字节的方法,因此我可以使用 UTF-8 解码最终的字节数组。有没有一种有效的方法来做到这一点?
试试这个,来自Byte Java API
String myBitString = "10101010";
int radixTwo = 2;
byte myByteValue = Byte.parseByte(myBitString, radixTwo)
显然,您可以将字节值添加到byte[]
数组中,然后使用循环来显示/解码它们。
可能有帮助的是一种转换方法......
public static byte toByte(boolean[] bits){
assert bits.length == 8;
int tmp = 0;
for (int i = 0; i < 8; i ++){
if(bits[0] ){
tmp = tmp + (2^i);
}
}
return (byte)(tmp)
}