本文轉自:http://blog.csdn.net/chenzhanhai/article/details/6367842
部分摘自http://hi.baidu.com/liu_ufo/blog/item/af0a330976df35ae2fddd4b4.html
首先,byte[]是字節數組類型,和int[]類似,只是一個是字節型的,一個是整型的;
char是UNICOEDE字符,為16位的整數;
String是個類,一般用來表示字符串的;
hello.getBytes()意思就是把hello這個字符串轉化為字節流(byte型);一般前面加個byte[]型的變量,就是把轉化后的字節流放到這個變量里,如下:
byte[] bt=hello.getBytes();
// char轉byte
private 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();
}
// byte轉char
private char[] getChars (byte[] bytes) {
Charset cs = Charset.forName ("UTF-8");
ByteBuffer bb = ByteBuffer.allocate (bytes.length);
bb.put (bytes);
bb.flip ();
CharBuffer cb = cs.decode (bb);
return cb.array();
}