char、byte、string三者的转换
char byte string三者中,byte是用8bit存储的,其余二者会依据编码不同存储单位不同。通常情况下,我们在进行IO操作的时候,写入的都是byte,那么就需要将已有的char和strnig转换为byte存入。在读出的时候在转换成char或string。这中间就涉及了编码解码问题。只有正确的进行编码与解码才可以将想要的内容存入与读出。
char与string转换
如果想要把char转成string并拼接可以:
- 先拼接char,再转成一个string
- 先转成多个string,再利用string构造stringbuilder进行字符串拼接
char[] chars = new char[20];
chars[0] = 'a';
chars[1] = '我';
String s = new String(chars, 0, 2); //char转string
s.getChars(0,2,chars,2);
System.out.println(chars); //string转char
string与byte转换
String s =new String("hello world");
System.out.println(s);
try {
byte[] bytes=s.getBytes("ascii"); //按照ASCII编码转为byte
for (int i=0;i<bytes.length;i++){
System.out.println(bytes[i]);
}
String scpoy=new String(bytes,0,bytes.length,"ascii"); //byte按照ASCII解码转化为string
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}