工具类
public class UnicodeUtil {
/**
* 把字符串转成Unicode形式的字符串
*/
public static String encode(String src) throws Exception {
char c;
StringBuilder str = new StringBuilder();
int intAsc;
String strHex;
for (int i = 0; i < src.length(); i++) {
c = src.charAt(i);
intAsc = (int) c;
strHex = Integer.toHexString(intAsc);
if (intAsc > 128)
str.append("\\u" + strHex);
else if(intAsc<128 && intAsc>=16)
str.append("\\u00" + strHex);
else
str.append("\\u000" + strHex);
}
return str.toString();
}
}
作用,就是界面输入的字符,转换成unicode的字符再进行分割
前提需要掌握unicode
可查看unicode码表
https://www.cnblogs.com/csguo/p/7401874.html
对上面代码判断部分做解析
先看码表
unicode的表示是"\u0000"
如果界面输入的一个字符是’/’,那么查码表可知为’\u002F’
那么字符(’/’)转换为unicode形式的字符表示就是(’\u002F’)
十六进制002F的十进制是31,是小于128,所以走的是第二分支
else if(intAsc<128 && intAsc>=16)
如果界面输入的是’\t’制表符,对应的unicode是’\u0009’,十进制就是9
所以走分支是
else
str.append("\u000" + strHex);
如下需要分割txt文本的内容