String object in .NET (PowerShell), JavaScript, and Java all have trim() method. But trimmed characters by trim() are different between these languages.
# | codepoint | .NET | JavaScript | Java |
---|---|---|---|---|
1 | 0000-0008 | ✘ | ✘ | ✔ |
2 | 0009-000D | ✔ | ✔ | ✔ |
3 | 000E-001F | ✘ | ✘ | ✔ |
4 | 0020 | ✔ | ✔ | ✔ |
5 | 0085 | ✔ | ✘ | ✘ |
6 | 00A0 | ✔ | ✔ | ✘ |
7 | 1680 | ✔ | ✔ | ✘ |
8 | 180E | ✘ | ✔ | ✘ |
9 | 2000-200A | ✔ | ✔ | ✘ |
10 | 2028-2029 | ✔ | ✔ | ✘ |
11 | 202F | ✔ | ✔ | ✘ |
12 | 205F | ✔ | ✔ | ✘ |
13 | 3000 | ✔ | ✔ | ✘ |
14 | FEFF | ✘ | ✔ | ✘ |
JavaScript on Chrome 57.0
for (var i=0x0000; i<=0xffff; i++) { if (!String.fromCodePoint(i).trim().length) { console.log(i.toString(16).toUpperCase()); } } 9 A B C D 20 A0 1680 180E 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 200A 2028 2029 202F 205F 3000 FEFF
PowerShell 6.0
PS > 0x0000..0xffff | ForEach-Object { $_.ToString("X4") } | ForEach-Object { if ((ConvertFrom-CodePoint -CodePoint $_ -From 1201).trim().length -eq 0) { $_ } } 0009 000A 000B 000C 000D 0020 0085 00A0 1680 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 200A 2028 2029 202F 205F 3000
Java 1.8.0 (http://www.javarepl.com/)
java> for (char i=0x0000; i<0xffff; i++) { if (Character.toString(i).trim().length() == 0) { System.out.println(String.format("%04X", Character.toString(i).codePointAt(0))); } } 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F 0020