Unicode字符之 202A 202B 202C 202D 202E

本文介绍了Unicode字符202A、202B、202C、202D和202E的功能,它们分别用于从左至右、从右至左的嵌入和强制方向。在数字和字母的测试中,发现只有202E字符能显著改变显示方向,而202C在某些情况下未能实现预期的退出效果。在实际应用中,这些字符通常需要与202E组合使用才能生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Unicode字符之 202A 202B 202C 202D 202E

这几个字符属于格式字符
202A:从左至右嵌入
202B:从右至左嵌入
202C:退出方向性格式化
202D:从右至左强制
202E:从左至右强制

数字的情况下:
他们单个使用的时候,只有202E有效果

public static void main(String[] args){
        String name1 = "123\u202A456789";
        String name2 = "123\u202B456789";
        String name3 = "123\u202C456789";
        String name4 = "123\u202D456789";
        String name5 = "123\u202E456789";
        System.out.println(name1);
        System.out.println(name2);
        System.out.println(name3);
        System.out.println(name4);
        System.out.println(name5);
    }

执行结果:

123‪456789
123‫456789
123‬456789
123‭456789
123‮456789

实用其他四个,都要在202E的基础使用,而且要在‪202E的右边才右效果

public static void main(String[] args){
        String name1 = "123\u202E456\u202A789";
        String name2 = "123\u202E456\u202B789";
        String name3 = "123\u202E456\u202C789";
        String name4 = "123\u202E456\u202D789";
        String name5 = "01\u202A23\u202A45\u202B67\u202C89\u202Dab\u202Acd\u202Bef\u202Cdh";
        System.out.println(name1);
        System.out.println(name2);
        System.out.println(name3);
        System.out.println(name4);
        System.out.println(name5);
    }

执行结果:

123‮456‪789
123‮456‫789
123‮456‬789
123‮456‭789
01‪23‪45‫67‬89‭ab‪cd‫ef‬dh

这里的执行结果中,202C没有实现退出,而是和其他的效果一样。
目前也不确定为什么没有实现退出

字母的情况下:

也是只有202E有效果

public static void main(String[] args){
        String name1 = "abcdef\u202Aghi";
        String name2 = "abcdef\u202Bghi";
        String name3 = "abcdef\u202Cghi";
        String name4 = "abcdef\u202Dghi";
        String name5 = "abcdef\u202Eghi";
        System.out.println(name1);
        System.out.println(name2);
        System.out.println(name3);
        System.out.println(name4);
        System.out.println(name5);
    }

执行结果:

abcdef‪ghi
abcdef‫ghi
abcdef‬ghi
abcdef‭ghi
abcdef‮ghi

一起使用的情况,也是必须要结合‪202E才有效果,并且这个时候202C实现了退出,202C后面的字母没有改变

public static void main(String[] args){
        String name1 = "abc\u202Edef\u202Aghi";
        String name2 = "abc\u202Edef\u202Bghi";
        String name3 = "abc\u202Edef\u202Cghi";
        String name4 = "abc\u202Edef\u202Dghi";
        String name5 = "abc\u202Adef\u202Bgh\u202Cij\u202Dkl\u202Bmn\u202Aop\u202Cqr";
        System.out.println(name1);
        System.out.println(name2);
        System.out.println(name3);
        System.out.println(name4);
        System.out.println(name5);
    }

执行结果:

abc‮def‪ghi
abc‮def‫ghi
abc‮def‬ghi
abc‮def‭ghi
abc‪def‫gh‬ij‭kl‫mn‪op‬qr

总之,这几个是非常神奇的字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值