有不对的地方请各路大神指点。
- /**
- * 截取中文
- * 须知:
- * 1.一个中文是由两个字节组成,而将一个中文转化为两个字节时第一个字节一定是负数。
- * 2.new String(new byte[]{....});//该方法会将传入的字节数组进行查表并组成字符。
- *
- */
- public class Demo2 {
- public static void main(String[] args) {
- String str = "~_=da德24%玛西*(gg亚@!aa";
- // 将字符串转化为字节数组
- byte[] by = str.getBytes();
- String newStr = "";
- //遍历字节数组
- for (int i = 0; i < by.length; i++) {
- //判断第一个字节是否是负数
- if (by[i] < 0) {
- //如果是,则将当前字节后其后面的字节提取出来,放到字节数组中,再转化为字符。
- newStr += new String(new byte[] { by[i], by[++i] });
- }
- }
- System.out.println(newStr);
- }
- }
复制代码 |
|