byte数组和String相互转换十分常用。
这里做个小结。
String 转成 byte[]:
String example = "This is javatext!";
System.out.println("text length: " + example.length());
byte[] bytes = example.getBytes(StandardCharsets.UTF_8);
System.out.println("byte1 length: " + bytes.length());
bytes = example.getBytes();
System.out.println("byte2 length: " + bytes.length());
bytes[] to String:
String s = new String(bytes, StandardCharsets.UTF_8);
System.out.println("Output : " + s);
这是最常见的,如果将byte[]的一部分数据转成 String,可以这样做:
String s = new String(bytes,0,i, StandardCharsets.UTF_8);
System.out.println("Output : " + s);
这就是把bytes 前i个字节数据转成 String.
StandardCharsets.UTF_8这里数次用到String的编码方式,需要特别留意。