public class TestStringTrim {
/**
* 主函数。
*/
public static void main(String[] args) {
// 测试函数。
testStringTrim();
}
/**
* 了解String类的trim函数(Jdk 1.7)。
* 一般情况下大家理解的是:
* 去掉对象字符串前后的半角空格。
* 其实不然:
* 去掉的是对象字符串前后的
* (在Unicode编码里 <= 半角空格的所有字符)
*/
private static void testStringTrim() {
// Unicode编码里0到32的字符都会被去掉。
System.out.println(((char) 0 + "0" + (char) 0 ).trim());
System.out.println(((char) 1 + "1" + (char) 1 ).trim());
System.out.println(((char) 2 + "2" + (char) 2 ).trim());
System.out.println(((char) 3 + "3" + (char) 3 ).trim());
System.out.println(((char) 4 + "4" + (char) 4 ).trim());
System.out.println(((char) 5 + "5" + (char) 5 ).trim());
System.out.println(((char) 6 + "6" + (char) 6 ).trim());
System.out.println(((char) 7 + "7" + (char) 7 ).trim());
System.out.println(((char) 8 + "8" + (char) 8 ).trim());
System.out.println(((char) 9 + "9" + (char) 9 ).trim());
System.out.println(((char) 10 + "10" + (char) 10 ).trim());
System.out.println(((char) 11 + "11" + (char) 11 ).trim());
System.out.println(((char) 12 + "12" + (char) 12 ).trim());
System.out.println(((char) 13 + "13" + (char) 13 ).trim());
System.out.println(((char) 14 + "14" + (char) 14 ).trim());
System.out.println(((char) 15 + "15" + (char) 15 ).trim());
System.out.println(((char) 16 + "16" + (char) 16 ).trim());
System.out.println(((char) 17 + "17" + (char) 17 ).trim());
System.out.println(((char) 18 + "18" + (char) 18 ).trim());
System.out.println(((char) 19 + "19" + (char) 19 ).trim());
System.out.println(((char) 20 + "20" + (char) 20 ).trim());
System.out.println(((char) 21 + "21" + (char) 21 ).trim());
System.out.println(((char) 22 + "22" + (char) 22 ).trim());
System.out.println(((char) 23 + "23" + (char) 23 ).trim());
System.out.println(((char) 24 + "24" + (char) 24 ).trim());
System.out.println(((char) 25 + "25" + (char) 25 ).trim());
System.out.println(((char) 26 + "26" + (char) 26 ).trim());
System.out.println(((char) 27 + "27" + (char) 27 ).trim());
System.out.println(((char) 28 + "28" + (char) 28 ).trim());
System.out.println(((char) 29 + "29" + (char) 29 ).trim());
System.out.println(((char) 30 + "30" + (char) 30 ).trim());
System.out.println(((char) 31 + "31" + (char) 31 ).trim());
System.out.println(((char) 32 + "32" + (char) 32 ).trim());
System.out.println(((char) 33 + "33" + (char) 33 ).trim());
// 输出结果
/*
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
!33!
*/
}
}
附上Unicode码
0 NUL 空字符(Null)
1 SOH 标题开始
2 STX 本文开始
3 ETX 本文结束
4 EOT 传输结束
5 ENQ 请求
6 ACK 确认回应
7 BEL 响铃
8 BS 退格
9 HT 水平定位符号
10 LF 换行键
11 VT 垂直定位符号
12 FF 换页键
13 CR Enter键
14 SO 取消变换(Shift out)
15 SI 启用变换(Shift in)
16 DLE 跳出数据通讯
17 DC1 设备控制一(XON 激活软件速度控制)
18 DC2 设备控制二
19 DC3 设备控制三(XOFF 停用软件速度控制)
20 DC4 设备控制四
21 NAK 确认失败回应
22 SYN 同步用暂停
23 ETB 区块传输结束
24 CAN 取消
25 EM 连接介质中断
26 SUB 替换
27 ESC 退出键
28 FS 文件分区符
29 GS 组群分隔符
30 RS 记录分隔符
31 US 单元分隔符