㈠ java byte到char的转换
char 和 byte不是一个概念的芹搏或
byte a = (byte)'b';
这个是成立的 char型就是一个单字嫌伍符 直接强制类型转换就可以完成转换成1个字节的byte。 因为char的定义就是1字节。
所以互换方式就是强制转换
byte a = (byte)'c';
char b = (char)a;
System.out.println(b);
char在java中可银山以直接取值来表示
char b = (char)100;
System.out.println(b);
结果是d
㈡ 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 中char字符怎么转成二进制
中唤租char字银咐符怎么转和搏兆成二进制
public class StringDemo {
public static void main(String[] args) throws UnsupportedEncodingException {
Char s = 'A';
byte[] bys = s.getBytes();
System.out.println(Arrays.toString(bys));
String ss = new String(bys); // A
System.out.println(ss);
}
㈣ java char,byte移位操作时的类型转换。
int类型数据4字节32位
int 数据 >> 数值右端
所以数值右端范围是(0-31)00000-11111
所有只有右端数值的低5位有用
例子
int类型数据3(0.....0011)
3 >> 33 表示 3右移33位(100001)
但是3是int类型,只有32位,右移数值只有低5位有用
3 >> 33 相当于 3 >> 1 结果是 1
㈤ java 中各种数据类型转换byte[]的方法
ObjectOutputStream oos = null;//对象输出流
ByteArrayOutputStream baos = null;//byte数组输出流
ByteArrayInputStream s = null;//对象输入流
try {
//序列化
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);//将数组流传入对象流
oos.writeObject(new Integer(1));//用对象流读取对象。
byte[] bytes = baos.toByteArray();//用数组流将传入的对象转化为byte数组
//反序列化
s = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(s);
Integer i = (Integer)ois.readObject();
System.out.println(i);
} catch (Exception e) {
}以上是把integer类型转化成byte[]数组类型。注:基本类型要转化为byte[]数组的话,需要用该基本类型的引用类。比如int的引用类是integer,就行了所有的类型,包括class都可以用这种序列化方式来转成byte[],
㈥ java 中,char 数组转换成 byte数组(急,在线等)
package com.example.lib;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.*;
import java.nio.charset.Charset;
public class MyClass {
public static void main(String[] args) throws IOException {
FileInputStream fs; //定义流对象变量
fs = new FileInputStream("/Users/mac/androidStudioProjects/MyApplication/lib/src/main/java/com/example/lib/mytext.txt");
byte[] bytes = new byte[fs.available()]; //定义接收数据的字节数组,并用流对象初始化数组大小
fs.read(bytes); //装载数据
char[] w = getChars(bytes);//将字节数组转化为字符数组,注意数组末尾会有空字符
String s = new String(w); //利用字符串构造函数来构造字符串,
System.out.println("结果为:"+s.trim());输出时,去掉末尾空格字符
}
private static byte[] getBytes (char[] chars) {
Charset cs = Charset.forName ("UTF-8");//设定字符集编码代号
CharBuffer cb = CharBuffer.allocate (chars.length);//按照字符数组长度进行分配空间
cb.put (chars); //装载数据
cb.flip (); //指针复位
//按照编码规则进行编码
ByteBuffer bb = cs.encode (cb);
return bb.array();
}
private static char[] getChars (byte[] bytes) {
Charset cs = Charset.forName ("UTF-8");//指定字符集编码
ByteBuffer bb = ByteBuffer.allocate (bytes.length);
bb.put (bytes);//装载数据
bb.flip ();//调整回指针为0
CharBuffer cb = cs.decode (bb);//按照指定字符集进行解码
return cb.array();//返回字符数组
}
}
㈦ java里面的char和byte怎么转换
掘扒java中,char转化为byte的话,可以用参考如下方法:
String s=new String("樱芹1");
byte[] b=new byte[1];
b[0] = Byte.parseByte("脊散毕"+s.charAt(0));
System.out.println(b[0]);
结果为:1,而不是ascii码的值了。
㈧ java里面的char和byte怎么转换
java中,char转化为byte的话,可以用参考如下方法:
String s=new String("1");
byte[] b=new byte[1];
b[0] = Byte.parseByte(""+s.charAt(0));
System.out.println(b[0]);
结果为:1,而不是ascii码的值了。
㈨ Java中怎么把一个中文字符char转换成byte
1、中文一个字是两个char,即是String类型。
2、String只能转为byte[]数组,方法是调用其getBytes()方法。
㈩ java怎么把char转换成byte数组
1、字节数组转换为字符串
byte[]
byBuffer
=
new
byte[20];
String
strRead
=
new
String(byBuffer);
strRead
=
String.ValueOf(strRead.toCharArray(),
0,
byBuffer.length]);
2、字符串转换成字节数组
byte[]
byBuffer
=
new
byte[200];
String
strInput=abcdefg;
byBuffer=
strInput.getBytes();
注意:如果字符串里面含有中文,要特别注意,在android系统下,默认是UTF8编码,一个中文字符相当于3个字节,只有gb2312下一个中文相当于2字节。这种情况下可采取以下办法: