环境代码放在仓库同名路径下了
你需要下载它,并改后缀为zip自行解压
@Controller
public class UserController {
public static HashMap comments = new HashMap();
@RequestMapping("/showcomment")
@ResponseBody
public String showAllComments() throws Exception {
StringBuilder ret = new StringBuilder();
ret.append("<!DOCTYPE html><html><head><title>Comments</title></head><body><table>");
Collection values = comments.values();
for (Object value : values) {
String comment = ((String)value).replace("<", "<").replace(">", ">");
ret.append("<tr><td>" + Normalizer.normalize(comment, Normalizer.Form.NFKC) + "</td></tr>\n");
}
ret.append("</table></body></html>");
return ret.toString();
}
@RequestMapping("/comment")
@ResponseBody
public String comment(String comment){
if(comment != null){
comments.put(UUID.randomUUID().toString().replaceAll("-",""),comment);
return "comment added";
}else {
return "comment?";
}
}
}
可以看到comment路由是一个添加评论的方法
showcomment则用来查看添加的评论,在这个方法当中有个很骚的地方,先是对值做了归一化处理(不懂的可以百度也可以看看最下方参考链接),再做替换,而这个就是导致xss的原因,这里简单说说原因
String comment = ((String)value).replace("<", "<").replace(">", ">");
ret.append("<tr><td>" + Normalizer.normalize(comment, Normalizer.Form.NFKC) + "</td></tr>\n");
经过规范化后\ufe64\ufe65
会被分别转换为字符<>
,从而造成xss的逃逸执行
因此我们需要在路由comment,传入comment=﹤script﹥alert(123);﹤/script﹥
注意它不是<>
从外观也有些许区别
访问路由showcomment,成功xss
NFC Normalised NFKC Normalised NFD Normalised NFKD Normalised
Printable | Hex | Alternatives | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
a/c | 0x612f63 | ℀ %e2%84%80 ℀ NFKD,NFKC | ||||||||||||||
13. | 0x31332e | ⒔ %e2%92%94 ⒔ NFKD,NFKC | ||||||||||||||
a/s | 0x612f73 | ℁ %e2%84%81 ℁ NFKD,NFKC | ||||||||||||||
0x20 | %c2%a0 NFKD,NFKC | %e2%80%80 NFKD,NFKC | %e2%80%81 NFKD,NFKC | %e2%80%82 NFKD,NFKC | %e2%80%83 NFKD,NFKC | %e2%80%84 NFKD,NFKC | %e2%80%85 NFKD,NFKC | %e2%80%86 NFKD,NFKC | %e2%80%87 NFKD,NFKC | %e2%80%88 NFKD,NFKC | %e2%80%89 NFKD,NFKC | %e2%80%8a NFKD,NFKC | %e2%80%af NFKD,NFKC | %e2%81%9f NFKD,NFKC | %e3%80%80 NFKD,NFKC | |
$ | 0x24 | ﹩ %ef%b9%a9 ﹩ NFKD,NFKC | $ %ef%bc%84 $ NFKD,NFKC | |||||||||||||
( | 0x28 | ⁽ %e2%81%bd ⁽ NFKD,NFKC | ₍ %e2%82%8d ₍ NFKD,NFKC | ︵ %ef%b8%b5 ︵ NFKD,NFKC | ﹙ %ef%b9%99 ﹙ NFKD,NFKC | ( %ef%bc%88 ( NFKD,NFKC | ||||||||||
, | 0x2c | ︐ %ef%b8%90 ︐ NFKD,NFKC | ﹐ %ef%b9%90 ﹐ NFKD,NFKC | , %ef%bc%8c , NFKD,NFKC | ||||||||||||
0 | 0x30 | ⁰ %e2%81%b0 ⁰ NFKD,NFKC | ₀ %e2%82%80 ₀ NFKD,NFKC | ⓪ %e2%93%aa ⓪ NFKD,NFKC | 0 %ef%bc%90 0 NFKD,NFKC | |||||||||||
4 | 0x34 | ⁴ %e2%81%b4 ⁴ NFKD,NFKC | ₄ %e2%82%84 ₄ NFKD,NFKC | ④ %e2%91%a3 ④ NFKD,NFKC | 4 %ef%bc%94 4 NFKD,NFKC | |||||||||||
8 | 0x38 | ⁸ %e2%81%b8 ⁸ NFKD,NFKC | ₈ %e2%82%88 ₈ NFKD,NFKC | ⑧ %e2%91%a7 ⑧ NFKD,NFKC | 8 %ef%bc%98 8 NFKD,NFKC | |||||||||||
2. | 0x322e | ⒉ %e2%92%89 ⒉ NFKD,NFKC | ||||||||||||||
< | 0x3c | ﹤ %ef%b9%a4 ﹤ NFKD,NFKC | < %ef%bc%9c < NFKD,NFKC | |||||||||||||
... | 0x2e2e2e | … %e2%80%a6 … NFKD,NFKC | ︙ %ef%b8%99 ︙ NFKD,NFKC | |||||||||||||
D | 0x44 | ᴰ %e1%b4%b0 ᴰ NFKD,NFKC | ⅅ %e2%85%85 ⅅ NFKD,NFKC | Ⅾ %e2%85%ae Ⅾ NFKD,NFKC | Ⓓ %e2%92%b9 Ⓓ NFKD,NFKC | D %ef%bc%a4 D NFKD,NFKC | ||||||||||
== | 0x3d3d | ⩵ %e2%a9%b5 ⩵ NFKD,NFKC | ||||||||||||||
H | 0x48 | ᴴ %e1%b4%b4 ᴴ NFKD,NFKC | ℋ %e2%84%8b ℋ NFKD,NFKC | ℌ %e2%84%8c ℌ NFKD,NFKC | ℍ %e2%84%8d ℍ NFKD,NFKC | Ⓗ %e2%92%bd Ⓗ NFKD,NFKC | H %ef%bc%a8 H NFKD,NFKC | |||||||||
L | 0x4c | ᴸ %e1%b4%b8 ᴸ NFKD,NFKC | ℒ %e2%84%92 ℒ NFKD,NFKC | Ⅼ %e2%85%ac Ⅼ NFKD,NFKC | Ⓛ %e2%93%81 Ⓛ NFKD,NFKC | L %ef%bc%ac L NFKD,NFKC | ||||||||||
12. | 0x31322e | ⒓ %e2%92%93 ⒓ NFKD,NFKC | ||||||||||||||
P | 0x50 | ᴾ %e1%b4%be ᴾ NFKD,NFKC | ℙ %e2%84%99 ℙ NFKD,NFKC | Ⓟ %e2%93%85 Ⓟ NFKD,NFKC | P %ef%bc%b0 P NFKD,NFKC | |||||||||||
T | 0x54 | ᵀ %e1%b5%80 ᵀ NFKD,NFKC | Ⓣ %e2%93%89 Ⓣ NFKD,NFKC | T %ef%bc%b4 T NFKD,NFKC | ||||||||||||
X | 0x58 | Ⅹ %e2%85%a9 Ⅹ NFKD,NFKC | Ⓧ %e2%93%8d Ⓧ NFKD,NFKC | X %ef%bc%b8 X NFKD,NFKC | ||||||||||||
** | 0x5c | ﹨ %ef%b9%a8 ﹨ NFKD,NFKC | \ %ef%bc%bc \ NFKD,NFKC | |||||||||||||
` | 0x60 | ` %e1%bf%af ` NFKD,NFKC,NFD,NFC | ` %ef%bd%80 ` NFKD,NFKC | |||||||||||||
d | 0x64 | ᵈ %e1%b5%88 ᵈ NFKD,NFKC | ⅆ %e2%85%86 ⅆ NFKD,NFKC | ⅾ %e2%85%be ⅾ NFKD,NFKC | ⓓ %e2%93%93 ⓓ NFKD,NFKC | d %ef%bd%84 d NFKD,NFKC | ||||||||||
h | 0x68 | ʰ %ca%b0 ʰ NFKD,NFKC | ℎ %e2%84%8e ℎ NFKD,NFKC | ⓗ %e2%93%97 ⓗ NFKD,NFKC | h %ef%bd%88 h NFKD,NFKC | |||||||||||
l | 0x6c | ˡ %cb%a1 ˡ NFKD,NFKC | ℓ %e2%84%93 ℓ NFKD,NFKC | ⅼ %e2%85%bc ⅼ NFKD,NFKC | ⓛ %e2%93%9b ⓛ NFKD,NFKC | l %ef%bd%8c l NFKD,NFKC | ||||||||||
p | 0x70 | ᵖ %e1%b5%96 ᵖ NFKD,NFKC | ⓟ %e2%93%9f ⓟ NFKD,NFKC | p %ef%bd%90 p NFKD,NFKC | ||||||||||||
5. | 0x352e | ⒌ %e2%92%8c ⒌ NFKD,NFKC | ||||||||||||||
t | 0x74 | ᵗ %e1%b5%97 ᵗ NFKD,NFKC | ⓣ %e2%93%a3 ⓣ NFKD,NFKC | t %ef%bd%94 t NFKD,NFKC | ||||||||||||
x | 0x78 | ˣ %cb%a3 ˣ NFKD,NFKC | ₓ %e2%82%93 ₓ NFKD,NFKC | ⅹ %e2%85%b9 ⅹ NFKD,NFKC | ⓧ %e2%93%a7 ⓧ NFKD,NFKC | x %ef%bd%98 x NFKD,NFKC | ||||||||||
| | 0x7c | | %ef%bd%9c | NFKD,NFKC | ||||||||||||||
A | 0x41 | ᴬ %e1%b4%ac ᴬ NFKD,NFKC | Ⓐ %e2%92%b6 Ⓐ NFKD,NFKC | A %ef%bc%a1 A NFKD,NFKC | ||||||||||||
8. | 0x382e | ⒏ %e2%92%8f ⒏ NFKD,NFKC | ||||||||||||||
11. | 0x31312e | ⒒ %e2%92%92 ⒒ NFKD,NFKC | ||||||||||||||
19. | 0x31392e | ⒚ %e2%92%9a ⒚ NFKD,NFKC | ||||||||||||||
# | 0x23 | ﹟ %ef%b9%9f ﹟ NFKD,NFKC | # %ef%bc%83 # NFKD,NFKC | |||||||||||||
' | 0x27 | ' %ef%bc%87 ' NFKD,NFKC | ||||||||||||||
+ | 0x2b | ⁺ %e2%81%ba ⁺ NFKD,NFKC | ₊ %e2%82%8a ₊ NFKD,NFKC | ﬩ %ef%ac%a9 ﬩ NFKD,NFKC | ﹢ %ef%b9%a2 ﹢ NFKD,NFKC | + %ef%bc%8b + NFKD,NFKC | ||||||||||
/ | 0x2f | / %ef%bc%8f / NFKD,NFKC | ||||||||||||||
p.m. | 0x702e6d2e | ㏘ %e3%8f%98 ㏘ NFKD,NFKC | ||||||||||||||
3 | 0x33 | ³ %c2%b3 ³ NFKD,NFKC | ₃ %e2%82%83 ₃ NFKD,NFKC | ③ %e2%91%a2 ③ NFKD,NFKC | 3 %ef%bc%93 3 NFKD,NFKC | |||||||||||
7 | 0x37 | ⁷ %e2%81%b7 ⁷ NFKD,NFKC | ₇ %e2%82%87 ₇ NFKD,NFKC | ⑦ %e2%91%a6 ⑦ NFKD,NFKC | 7 %ef%bc%97 7 NFKD,NFKC | |||||||||||
; | 0x3b | ; %cd%be ; NFKD,NFKC,NFD,NFC | ︔ %ef%b8%94 ︔ NFKD,NFKC | ﹔ %ef%b9%94 ﹔ NFKD,NFKC | ; %ef%bc%9b ; NFKD,NFKC | |||||||||||
? | 0x3f | ︖ %ef%b8%96 ︖ NFKD,NFKC | ﹖ %ef%b9%96 ﹖ NFKD,NFKC | ? %ef%bc%9f ? NFKD,NFKC | ||||||||||||
C | 0x43 | ℂ %e2%84%82 ℂ NFKD,NFKC | ℭ %e2%84%ad ℭ NFKD,NFKC | Ⅽ %e2%85%ad Ⅽ NFKD,NFKC | Ⓒ %e2%92%b8 Ⓒ NFKD,NFKC | C %ef%bc%a3 C NFKD,NFKC | ||||||||||
10. | 0x31302e | ⒑ %e2%92%91 ⒑ NFKD,NFKC | ||||||||||||||
G | 0x47 | ᴳ %e1%b4%b3 ᴳ NFKD,NFKC | Ⓖ %e2%92%bc Ⓖ NFKD,NFKC | G %ef%bc%a7 G NFKD,NFKC | ||||||||||||
K | 0x4b | ᴷ %e1%b4%b7 ᴷ NFKD,NFKC | K %e2%84%aa K NFKD,NFKC,NFD,NFC | Ⓚ %e2%93%80 Ⓚ NFKD,NFKC | K %ef%bc%ab K NFKD,NFKC | |||||||||||
O | 0x4f | ᴼ %e1%b4%bc ᴼ NFKD,NFKC | Ⓞ %e2%93%84 Ⓞ NFKD,NFKC | O %ef%bc%af O NFKD,NFKC | ||||||||||||
S | 0x53 | Ⓢ %e2%93%88 Ⓢ NFKD,NFKC | S %ef%bc%b3 S NFKD,NFKC | |||||||||||||
W | 0x57 | ᵂ %e1%b5%82 ᵂ NFKD,NFKC | Ⓦ %e2%93%8c Ⓦ NFKD,NFKC | W %ef%bc%b7 W NFKD,NFKC | ||||||||||||
[ | 0x5b | ﹇ %ef%b9%87 ﹇ NFKD,NFKC | [ %ef%bc%bb [ NFKD,NFKC | |||||||||||||
_ | 0x5f | ︳ %ef%b8%b3 ︳ NFKD,NFKC | ︴ %ef%b8%b4 ︴ NFKD,NFKC | ﹍ %ef%b9%8d ﹍ NFKD,NFKC | ﹎ %ef%b9%8e ﹎ NFKD,NFKC | ﹏ %ef%b9%8f ﹏ NFKD,NFKC | _ %ef%bc%bf _ NFKD,NFKC | |||||||||
c | 0x63 | ᶜ %e1%b6%9c ᶜ NFKD,NFKC | ⅽ %e2%85%bd ⅽ NFKD,NFKC | ⓒ %e2%93%92 ⓒ NFKD,NFKC | c %ef%bd%83 c NFKD,NFKC | |||||||||||
g | 0x67 | ᵍ %e1%b5%8d ᵍ NFKD,NFKC | ℊ %e2%84%8a ℊ NFKD,NFKC | ⓖ %e2%93%96 ⓖ NFKD,NFKC | g %ef%bd%87 g NFKD,NFKC | |||||||||||
k | 0x6b | ᵏ %e1%b5%8f ᵏ NFKD,NFKC | ⓚ %e2%93%9a ⓚ NFKD,NFKC | k %ef%bd%8b k NFKD,NFKC | ||||||||||||
o | 0x6f | º %c2%ba º NFKD,NFKC | ᵒ %e1%b5%92 ᵒ NFKD,NFKC | ₒ %e2%82%92 ₒ NFKD,NFKC | ℴ %e2%84%b4 ℴ NFKD,NFKC | ⓞ %e2%93%9e ⓞ NFKD,NFKC | o %ef%bd%8f o NFKD,NFKC | |||||||||
s | 0x73 | ſ %c5%bf ſ NFKD,NFKC | ˢ %cb%a2 ˢ NFKD,NFKC | ⓢ %e2%93%a2 ⓢ NFKD,NFKC | s %ef%bd%93 s NFKD,NFKC | |||||||||||
a.m. | 0x612e6d2e | ㏂ %e3%8f%82 ㏂ NFKD,NFKC | ||||||||||||||
3. | 0x332e | ⒊ %e2%92%8a ⒊ NFKD,NFKC | ||||||||||||||
w | 0x77 | ʷ %ca%b7 ʷ NFKD,NFKC | ⓦ %e2%93%a6 ⓦ NFKD,NFKC | w %ef%bd%97 w NFKD,NFKC | ||||||||||||
{ | 0x7b | ︷ %ef%b8%b7 ︷ NFKD,NFKC | ﹛ %ef%b9%9b ﹛ NFKD,NFKC | { %ef%bd%9b { NFKD,NFKC | ||||||||||||
~ | 0x7e | ~ %ef%bd%9e ~ NFKD,NFKC | ||||||||||||||
17. | 0x31372e | ⒘ %e2%92%98 ⒘ NFKD,NFKC | ||||||||||||||
::= | 0x3a3a3d | ⩴ %e2%a9%b4 ⩴ NFKD,NFKC | ||||||||||||||
6. | 0x362e | ⒍ %e2%92%8d ⒍ NFKD,NFKC | ||||||||||||||
Y | 0x59 | Ⓨ %e2%93%8e Ⓨ NFKD,NFKC | Y %ef%bc%b9 Y NFKD,NFKC | |||||||||||||
!? | 0x213f | ⁉ %e2%81%89 ⁉ NFKD,NFKC | ||||||||||||||
" | 0x22 | " %ef%bc%82 " NFKD,NFKC | ||||||||||||||
c/u | 0x632f75 | ℆ %e2%84%86 ℆ NFKD,NFKC | ||||||||||||||
.. | 0x2e2e | ‥ %e2%80%a5 ‥ NFKD,NFKC | ︰ %ef%b8%b0 ︰ NFKD,NFKC | |||||||||||||
& | 0x26 | ﹠ %ef%b9%a0 ﹠ NFKD,NFKC | & %ef%bc%86 & NFKD,NFKC | |||||||||||||
***** | 0x2a | ﹡ %ef%b9%a1 ﹡ NFKD,NFKC | * %ef%bc%8a * NFKD,NFKC | |||||||||||||
18. | 0x31382e | ⒙ %e2%92%99 ⒙ NFKD,NFKC | ||||||||||||||
. | 0x2e | ․ %e2%80%a4 ․ NFKD,NFKC | ﹒ %ef%b9%92 ﹒ NFKD,NFKC | . %ef%bc%8e . NFKD,NFKC | ||||||||||||
2 | 0x32 | ² %c2%b2 ² NFKD,NFKC | ₂ %e2%82%82 ₂ NFKD,NFKC | ② %e2%91%a1 ② NFKD,NFKC | 2 %ef%bc%92 2 NFKD,NFKC | |||||||||||
6 | 0x36 | ⁶ %e2%81%b6 ⁶ NFKD,NFKC | ₆ %e2%82%86 ₆ NFKD,NFKC | ⑥ %e2%91%a5 ⑥ NFKD,NFKC | 6 %ef%bc%96 6 NFKD,NFKC | |||||||||||
: | 0x3a | ︓ %ef%b8%93 ︓ NFKD,NFKC | ﹕ %ef%b9%95 ﹕ NFKD,NFKC | : %ef%bc%9a : NFKD,NFKC | ||||||||||||
c/o | 0x632f6f | ℅ %e2%84%85 ℅ NFKD,NFKC | ||||||||||||||
> | 0x3e | ﹥ %ef%b9%a5 ﹥ NFKD,NFKC | > %ef%bc%9e > NFKD,NFKC | |||||||||||||
16. | 0x31362e | ⒗ %e2%92%97 ⒗ NFKD,NFKC | ||||||||||||||
B | 0x42 | ᴮ %e1%b4%ae ᴮ NFKD,NFKC | ℬ %e2%84%ac ℬ NFKD,NFKC | Ⓑ %e2%92%b7 Ⓑ NFKD,NFKC | B %ef%bc%a2 B NFKD,NFKC | |||||||||||
9. | 0x392e | ⒐ %e2%92%90 ⒐ NFKD,NFKC | ||||||||||||||
J | 0x4a | ᴶ %e1%b4%b6 ᴶ NFKD,NFKC | Ⓙ %e2%92%bf Ⓙ NFKD,NFKC | J %ef%bc%aa J NFKD,NFKC | ||||||||||||
N | 0x4e | ᴺ %e1%b4%ba ᴺ NFKD,NFKC | ℕ %e2%84%95 ℕ NFKD,NFKC | Ⓝ %e2%93%83 Ⓝ NFKD,NFKC | N %ef%bc%ae N NFKD,NFKC | |||||||||||
R | 0x52 | ᴿ %e1%b4%bf ᴿ NFKD,NFKC | ℛ %e2%84%9b ℛ NFKD,NFKC | ℜ %e2%84%9c ℜ NFKD,NFKC | ℝ %e2%84%9d ℝ NFKD,NFKC | Ⓡ %e2%93%87 Ⓡ NFKD,NFKC | R %ef%bc%b2 R NFKD,NFKC | |||||||||
V | 0x56 | Ⅴ %e2%85%a4 Ⅴ NFKD,NFKC | Ⓥ %e2%93%8b Ⓥ NFKD,NFKC | ⱽ %e2%b1%bd ⱽ NFKD,NFKC | V %ef%bc%b6 V NFKD,NFKC | |||||||||||
Z | 0x5a | ℤ %e2%84%a4 ℤ NFKD,NFKC | ℨ %e2%84%a8 ℨ NFKD,NFKC | Ⓩ %e2%93%8f Ⓩ NFKD,NFKC | Z %ef%bc%ba Z NFKD,NFKC | |||||||||||
^ | 0x5e | ^ %ef%bc%be ^ NFKD,NFKC | ||||||||||||||
=== | 0x3d3d3d | ⩶ %e2%a9%b6 ⩶ NFKD,NFKC | ||||||||||||||
b | 0x62 | ᵇ %e1%b5%87 ᵇ NFKD,NFKC | ⓑ %e2%93%91 ⓑ NFKD,NFKC | b %ef%bd%82 b NFKD,NFKC | ||||||||||||
f | 0x66 | ᶠ %e1%b6%a0 ᶠ NFKD,NFKC | ⓕ %e2%93%95 ⓕ NFKD,NFKC | f %ef%bd%86 f NFKD,NFKC | ||||||||||||
j | 0x6a | ʲ %ca%b2 ʲ NFKD,NFKC | ⅉ %e2%85%89 ⅉ NFKD,NFKC | ⓙ %e2%93%99 ⓙ NFKD,NFKC | ⱼ %e2%b1%bc ⱼ NFKD,NFKC | j %ef%bd%8a j NFKD,NFKC | ||||||||||
n | 0x6e | ⁿ %e2%81%bf ⁿ NFKD,NFKC | ⓝ %e2%93%9d ⓝ NFKD,NFKC | n %ef%bd%8e n NFKD,NFKC | ||||||||||||
r | 0x72 | ʳ %ca%b3 ʳ NFKD,NFKC | ᵣ %e1%b5%a3 ᵣ NFKD,NFKC | ⓡ %e2%93%a1 ⓡ NFKD,NFKC | r %ef%bd%92 r NFKD,NFKC | |||||||||||
v | 0x76 | ᵛ %e1%b5%9b ᵛ NFKD,NFKC | ᵥ %e1%b5%a5 ᵥ NFKD,NFKC | ⅴ %e2%85%b4 ⅴ NFKD,NFKC | ⓥ %e2%93%a5 ⓥ NFKD,NFKC | v %ef%bd%96 v NFKD,NFKC | ||||||||||
z | 0x7a | ᶻ %e1%b6%bb ᶻ NFKD,NFKC | ⓩ %e2%93%a9 ⓩ NFKD,NFKC | z %ef%bd%9a z NFKD,NFKC | ||||||||||||
1. | 0x312e | ⒈ %e2%92%88 ⒈ NFKD,NFKC | ||||||||||||||
@ | 0x40 | ﹫ %ef%b9%ab ﹫ NFKD,NFKC | @ %ef%bc%a0 @ NFKD,NFKC | |||||||||||||
15. | 0x31352e | ⒖ %e2%92%96 ⒖ NFKD,NFKC | ||||||||||||||
! | 0x21 | ︕ %ef%b8%95 ︕ NFKD,NFKC | ﹗ %ef%b9%97 ﹗ NFKD,NFKC | ! %ef%bc%81 ! NFKD,NFKC | ||||||||||||
% | 0x25 | ﹪ %ef%b9%aa ﹪ NFKD,NFKC | % %ef%bc%85 % NFKD,NFKC | |||||||||||||
) | 0x29 | ⁾ %e2%81%be ⁾ NFKD,NFKC | ₎ %e2%82%8e ₎ NFKD,NFKC | ︶ %ef%b8%b6 ︶ NFKD,NFKC | ﹚ %ef%b9%9a ﹚ NFKD,NFKC | ) %ef%bc%89 ) NFKD,NFKC | ||||||||||
F | 0x46 | ℱ %e2%84%b1 ℱ NFKD,NFKC | Ⓕ %e2%92%bb Ⓕ NFKD,NFKC | F %ef%bc%a6 F NFKD,NFKC | ||||||||||||
- | 0x2d | ﹣ %ef%b9%a3 ﹣ NFKD,NFKC | - %ef%bc%8d - NFKD,NFKC | |||||||||||||
4. | 0x342e | ⒋ %e2%92%8b ⒋ NFKD,NFKC | ||||||||||||||
5 | 0x35 | ⁵ %e2%81%b5 ⁵ NFKD,NFKC | ₅ %e2%82%85 ₅ NFKD,NFKC | ⑤ %e2%91%a4 ⑤ NFKD,NFKC | 5 %ef%bc%95 5 NFKD,NFKC | |||||||||||
9 | 0x39 | ⁹ %e2%81%b9 ⁹ NFKD,NFKC | ₉ %e2%82%89 ₉ NFKD,NFKC | ⑨ %e2%91%a8 ⑨ NFKD,NFKC | 9 %ef%bc%99 9 NFKD,NFKC | |||||||||||
Co. | 0x436f2e | ㏇ %e3%8f%87 ㏇ NFKD,NFKC | ||||||||||||||
= | 0x3d | ⁼ %e2%81%bc ⁼ NFKD,NFKC | ₌ %e2%82%8c ₌ NFKD,NFKC | ﹦ %ef%b9%a6 ﹦ NFKD,NFKC | = %ef%bc%9d = NFKD,NFKC | |||||||||||
?? | 0x3f3f | ⁇ %e2%81%87 ⁇ NFKD,NFKC | ||||||||||||||
E | 0x45 | ᴱ %e1%b4%b1 ᴱ NFKD,NFKC | ℰ %e2%84%b0 ℰ NFKD,NFKC | Ⓔ %e2%92%ba Ⓔ NFKD,NFKC | E %ef%bc%a5 E NFKD,NFKC | |||||||||||
I | 0x49 | ᴵ %e1%b4%b5 ᴵ NFKD,NFKC | ℐ %e2%84%90 ℐ NFKD,NFKC | ℑ %e2%84%91 ℑ NFKD,NFKC | Ⅰ %e2%85%a0 Ⅰ NFKD,NFKC | Ⓘ %e2%92%be Ⓘ NFKD,NFKC | I %ef%bc%a9 I NFKD,NFKC | |||||||||
7. | 0x372e | ⒎ %e2%92%8e ⒎ NFKD,NFKC | ||||||||||||||
M | 0x4d | ᴹ %e1%b4%b9 ᴹ NFKD,NFKC | ℳ %e2%84%b3 ℳ NFKD,NFKC | Ⅿ %e2%85%af Ⅿ NFKD,NFKC | Ⓜ %e2%93%82 Ⓜ NFKD,NFKC | M %ef%bc%ad M NFKD,NFKC | ||||||||||
Q | 0x51 | ℚ %e2%84%9a ℚ NFKD,NFKC | Ⓠ %e2%93%86 Ⓠ NFKD,NFKC | Q %ef%bc%b1 Q NFKD,NFKC | ||||||||||||
U | 0x55 | ᵁ %e1%b5%81 ᵁ NFKD,NFKC | Ⓤ %e2%93%8a Ⓤ NFKD,NFKC | U %ef%bc%b5 U NFKD,NFKC | ||||||||||||
14. | 0x31342e | ⒕ %e2%92%95 ⒕ NFKD,NFKC | ||||||||||||||
] | 0x5d | ﹈ %ef%b9%88 ﹈ NFKD,NFKC | ] %ef%bc%bd ] NFKD,NFKC | |||||||||||||
?! | 0x3f21 | ⁈ %e2%81%88 ⁈ NFKD,NFKC | ||||||||||||||
20. | 0x32302e | ⒛ %e2%92%9b ⒛ NFKD,NFKC | ||||||||||||||
a | 0x61 | ª %c2%aa ª NFKD,NFKC | ᵃ %e1%b5%83 ᵃ NFKD,NFKC | ₐ %e2%82%90 ₐ NFKD,NFKC | ⓐ %e2%93%90 ⓐ NFKD,NFKC | a %ef%bd%81 a NFKD,NFKC | ||||||||||
e | 0x65 | ᵉ %e1%b5%89 ᵉ NFKD,NFKC | ₑ %e2%82%91 ₑ NFKD,NFKC | ℯ %e2%84%af ℯ NFKD,NFKC | ⅇ %e2%85%87 ⅇ NFKD,NFKC | ⓔ %e2%93%94 ⓔ NFKD,NFKC | e %ef%bd%85 e NFKD,NFKC | |||||||||
i | 0x69 | ᵢ %e1%b5%a2 ᵢ NFKD,NFKC | ⁱ %e2%81%b1 ⁱ NFKD,NFKC | ℹ %e2%84%b9 ℹ NFKD,NFKC | ⅈ %e2%85%88 ⅈ NFKD,NFKC | ⅰ %e2%85%b0 ⅰ NFKD,NFKC | ⓘ %e2%93%98 ⓘ NFKD,NFKC | i %ef%bd%89 i NFKD,NFKC | ||||||||
m | 0x6d | ᵐ %e1%b5%90 ᵐ NFKD,NFKC | ⅿ %e2%85%bf ⅿ NFKD,NFKC | ⓜ %e2%93%9c ⓜ NFKD,NFKC | m %ef%bd%8d m NFKD,NFKC | |||||||||||
q | 0x71 | ⓠ %e2%93%a0 ⓠ NFKD,NFKC | q %ef%bd%91 q NFKD,NFKC | |||||||||||||
1 | 0x31 | ¹ %c2%b9 ¹ NFKD,NFKC | ₁ %e2%82%81 ₁ NFKD,NFKC | ① %e2%91%a0 ① NFKD,NFKC | 1 %ef%bc%91 1 NFKD,NFKC | |||||||||||
u | 0x75 | ᵘ %e1%b5%98 ᵘ NFKD,NFKC | ᵤ %e1%b5%a4 ᵤ NFKD,NFKC | ⓤ %e2%93%a4 ⓤ NFKD,NFKC | u %ef%bd%95 u NFKD,NFKC | |||||||||||
y | 0x79 | ʸ %ca%b8 ʸ NFKD,NFKC | ⓨ %e2%93%a8 ⓨ NFKD,NFKC | y %ef%bd%99 y NFKD,NFKC | ||||||||||||
} | 0x7d | ︸ %ef%b8%b8 ︸ NFKD,NFKC | ﹜ %ef%b9%9c ﹜ NFKD,NFKC | } %ef%bd%9d } NFKD,NFKC |
https://docs.oracle.com/javase/7/docs/api/java/text/Normalizer.html