Java中String和byte[]的转换

在Java的网络编程中,通过socket发送和接收到的数据是byte[ ]类型的,而我们希望发送的消息一般是用String类型表示的,所以在Java的网络编程中,发送端需要将String类型转换为byte[ ]类型,接收端需要将byte[ ]类型转换为String类型。

String类型转换为byte[ ]类型

代码如下:

1
2
String sendString="hello";
byte[] sendByte=sendString.getBytes("UTF8");
除了UTF8编码方式外,还可以采用"GBK","IOS-8859-1"等编码方式,这几种编码方式的差别在于表示同一个字符采用的字节数不同,而且为了中文显示不乱码,一般采用UTF8的编码方式。

byte[ ]类型转换为String类型

代码如下:

1
String receiveString=new String(receiveBytes,"UTF8");

receiveBytes为需要转为String的字节数组,"UTF8"的作用也是为了指定转换采用的编码方式,省略时会采用系统默认的编码方式。