⑴ java中byte与char的问题。
byte是字节数据类型,是有符号型的,占1个字节;大小范围为-128—127。
char是字符数据类型,是无符号型的,占2字节(Unicode码);大小范围是0—65535;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符。
区别:
1、Char是无符号型的,可以表示一个整数,不能表示负数;而byte是有符号型的,可以表示-128—127的数;
2、char可以表中文字符,byte不可以;
3、char、byte、int对于英文字符,可以相互转化
对于你上面说的最后会出异常是因为你不能通过while对DataInputStream 无限制的读取,DataInputStream 内容读取完了之后就没有数据可读,固然会报错。
你应该先判断DataInputStream 是否可用,只有在可用的情况下能继续读取,应该改成:
DataInputStreamdi=newDataInputStream(newByteArrayInputStream(
s.getBytes()));
while(di.available()>0){
System.out.print((char)di.readByte());
}
文章参考:http://blog.csdn.net/luoweifu/article/details/7770588
⑵ java Byte 转char
char c = (char)b.byteValue();
System.out.println(c);
⑶ java解析C语言 结构体 byte[]转char
强转就可以了,例如:
byte[]
data={0x41,
0x42};
char
ch=(char)data[0];
ch就会是'A'了
⑷ java里面的char和byte怎么转换
java中,char转化为byte的话,可以用参考如下方法:x0dx0aString s=new String("1");x0dx0abyte[] b=new byte[1];x0dx0ab[0] = Byte.parseByte(""+s.charAt(0));x0dx0aSystem.out.println(b[0]);x0dx0a结果为:1,而不是ascii码的值了。