01101001换为byte类型,如何转?

来源:百度知道 编辑:UC知道 时间:2024/05/29 09:14:57
也就是8个0/1的字符如何转为byte类型.
请说的详细一点~如果我满意,分数不是问题!
就这么简单吗?也许是我描述不够清楚吧,有原理最好!
我的意思是8个0/1的字符占8个字节,将8个0/1的字符转化成byte类型也就是字节类型,每个字节固定为8bit,实际上就是对文件的压缩!
一楼转化不正确;
二楼所说的Byte.TryParse("01101001",new Byte()),第二个参数为引用类型out(out传递的参数不用初始化)类型,返回的结果的却为false,也就是转换失败!
三楼这位老兄到是不错,方法正确,不过我不明白原理,望了说了,我现在写的东西的是C#语言的!很抱歉~

public class Test {
public static void main(String[] args) {
//1. Byte.parseByte(String s, int radix) 将 string 参数解析为一个有符号的 byte,其基数由第二个参数指定。
byte b = Byte.parseByte("01001101", 2);
System.out.println(b);

//2. Integer.parseInt(String s,int radix)把字符串s转换成以radix为底的整数
byte bb = (byte) Integer.parseInt("11101001", 2);
System.out.println(bb);
}
}

这样就满足你的要求了

string str = "11101001";
byte buff = new byte();
byte[] buffer = new byte[str.Length];
for (int i = 0; i < str.Length; i++)
{
string st = str.Substring(i, 1);
if (Byte.TryParse(st, out buff))
{
buffer[i] = Byte.Parse(st);
}
}

VS2005环境中调试通过

string str = "01100001";//97的二进制,对应的ASCII字符是'a'
byte b=Convert.ToByte(str,2);//将二进制字符串转为byte型,其中的2,指定字符串类型为二进制
char c = (char)b;
Console.WriteLine(b)