- Java code
String s = "abcd"; byte[] bytes = s.getBytes(); System.out.println(s.length()); System.out.println(bytes.length);
输出为
4
4
- Java code
s = "中国"; bytes = s.getBytes(); System.out.println(s.length()); System.out.println(bytes.length);
输出为
2
4
------------------------
无论String的内容是中文还是英文
1).我怎么判断这个String有多少个字节?
2).并且我怎么去删除,截取String中前面4个字节?
------解决方案--------------------
1)就用String.getBytes().length来判断字节长度
但是这个字节与具体编码有关,默认字符编码下,一般是一个汉字三个字节,一个西方1个字节
你第二段代码,确定输出为2 4吗?我怎么应该输出 2 6
------解决方案--------------------
- Java code
try { String s = "中国"; System.out.println(s.length()); System.out.println(s.getBytes().length); System.out.println(s.getBytes("GBK").length); System.out.println(s.getBytes("UTF-8").length); System.out.println(s.getBytes("ISO-8859-1").length); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); }
------解决方案--------------------
从第一个开始字符开始数,如果大于等于256就是2个字节,否则就是1个字节