unicode - Java中两种不同的正斜杠
问题描述
在处理 Java 中的 unicode 编码字符时,我使用 Normalizer 对其进行规范化并将其转换为字符串。下面是我使用的代码:
input = "¼";
input = Normalizer.normalize(input,Normalizer.Form.NFKD);
output: 1⁄4.
该方法使用的正斜杠"⁄"
的 unicode 编码\u2044
与我可以使用"/"
编码为\u002f
.
这些有什么区别,什么时候应该使用一个而不是另一个?
提前致谢。
里希特
解决方案
如今的 Unicode 包含大量常见的非字母字符的变体,斜线也不例外。(这甚至不是全部 - 搜索“solidus”以获得更多信息。)你有分数斜线(你的),全角斜线,除法斜线(是的,这与分数一分开),粗斜线,超厚斜线 - 名单还在继续。
好消息是您可以决定哪种斜线适合您的上下文。
如果您想要规范化只是因为您不希望分数显示为单个字符,或者您希望所有分数都以相同的方式显示(unicode 显然不能为每个可能的分数都有一个字符)然后使用这个分数斜线可能是你想要的。
另一方面,如果您想规范化,因为您想将可用字符集减少到可以在标准键盘上轻松键入的字符,那么您应该使用标准正斜杠。
推荐阅读
- discord - 如何跟踪用户被提及的次数?
- html - '未设置' CSS 的交替
- sql - 在 sql server 2008 中转换浮点数与数字
- angular - Angular7,Material2,页面滚动到打开对话框的顶部
- corda - java.lang.IllegalStateException:期待在当前链上找到事务集
- python - tkinter 绑定 keyRelease 就像 keyPress 一样工作
- r - 将徽标添加到 R 中的 grid.table PDF 输出
- javascript - jQuery .each 和 setTimeout 不起作用
- html - 具有固定定位的切片背景图像
- javascript - 为什么 ng-change 不适用于 angularjs 中的自定义指令