当前位置: 代码迷 >> J2SE >> 按字节删除,截取String解决方法
  详细解决方案

按字节删除,截取String解决方法

热度:61   发布时间:2016-04-24 02:09:54.0
按字节删除,截取String
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个字节
  相关解决方案