Joa*_*uer 20
U + FB00是兼容性字符.通常,Unicode不支持连字的单独代码点(如果应该使用连字并且不应该影响数据的存储方式,则认为这是布局决策).其中一些仍然存在,以允许往返转换与旧编码的兼容性,旧编码确实将连字表示为单独的实体.
幸运的是,该字符结扎代表的信息是存在于Unicode数据文件和最有能力的字符串处理系统具有内置的数据.
在Java中,你需要使用的Normalizer类和NFKC形式:
String ff ="\uFB00";
String normalized = Normalizer.normalize(ff, Form.NFKC);
System.out.println(ff + " = " + normalized);
Run Code Online (Sandbox Code Playgroud)
这将打印
? = ff
您正在谈论的过程称为规范化,并在Unicode 规范化形式技术说明中指定。
Java SE 类库中有一个名为的类java.text.Normalizer,它实现了这个过程。但是,您需要阅读上面链接的 Unicode 文档,以确定需要使用哪种“规范化形式”来获得所需的结果。这并不简单......
| 归档时间: |
|
| 查看次数: |
4076 次 |
| 最近记录: |