要求:编写函数public static String sliceByByte(String str,int startIndex,int endIndex);
实现下面的功能:字符串str按照以下要求存放字符:英文字母数字占一个byte,汉字占2个byte。按照byte截取字符串,如果字符串包含半个汉字,则直接丢弃那半个byte。
关键点:
1.字符串转byte : str.getBytes();
2.如何判断一个byte是否是汉字的一部分:汉字占2个byte,且这2个byte都是小于0的
3.如何判断是否为半个汉字:
半个汉字的情况只会出现在截取字符串的开头和结尾,只需要分别判断
1)截取byte的开头是否为半个汉字:
从str.getBytes()[startIndex]开始,往前统计,直到出现第一个大于0的byte为止,如果出现小于0的byte数量为
奇数,说明str.getBytes()[startIndex]是一个汉字的后半部分,应该丢弃
2) 截取byte的最后一个是否为半个汉字
从str.getBytes()[endIndex]开始,往后统计,直到出现第一个大于0的byte为止,如果出现小于0的byte数量为奇
数,说明str.getBytes()[endIndex]是一个汉字的前半部分,应该丢弃
详细代码见附件