首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中两种不同的正斜杠

Java中两种不同的正斜杠
EN

Stack Overflow用户
提问于 2019-06-14 21:07:12
回答 2查看 1.1K关注 0票数 0

在Java中处理unicode编码字符时,我使用规范化器将其规范化,并将其转换为字符串。下面是我使用的代码:

代码语言:javascript
复制
input = "¼";
input = Normalizer.normalize(input,Normalizer.Form.NFKD);

output: 1⁄4. 

该方法使用的正斜杠是"⁄",它的unicode编码是\u2044,而不是我能够使用键盘键入的常规正斜杠,键盘是以\u002f编码的"/"

它们之间的区别是什么?什么时候应该使用一个而另一个呢?

提前谢谢。

里希特

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-14 21:29:53

这些天来,Unicode包含了大量常见的非字母字符和斜杠也不例外。的变体。(这甚至不是所有的人--寻找"solidus“来获得更多。)你有分数斜杠(你的),全宽斜杠,除法斜杠(是的,这与分数1是分开的),粗斜杠,超厚斜杠-这个列表还在继续。

好消息是,你可以决定什么斜杠适合你的上下文。

如果您不希望分数出现在单个字符中,或者希望所有分数显示相同(unicode显然不能为每个可能的分数设置字符),那么使用这个分数斜杠可能就是您想要使用的。

另一方面,如果您想标准化,因为您希望将可用字符的集合减少到可以在标准键盘上轻松键入的字符集,那么很可能是应该使用的标准正斜杠。

票数 4
EN

Stack Overflow用户

发布于 2019-06-16 16:10:24

正如迈克尔·贝瑞所提到的,\u2044分数斜线的角色。

它不仅仅是一个看起来有点不同的斜线;它有特定的呈现行为。来自Unicode规范,6.2节,“其他标点符号”

分数斜杠。在数字之间使用 U+2044分数斜杠形成数字分数,例如2/3和3/9。使用分数斜杠构建的分数的标准形式定义如下:一个或多个十进制数字的任何序列(一般类别= Nd),后面是分数斜杠,后面是一个或多个十进制数字的任何序列。这样的分数应该显示为一个单位,如⁄₄或

。显示器的精确选择可以取决于其他格式信息。

如果显示软件不能将分数映射到一个单元,那么它也可以显示为一个简单的线性序列作为后备(例如,3/4)。如果要将分数与前一个数字分开,则可以使用一个空格,选择适当的宽度(正常宽度、细宽度、零宽度等)。例如,1+细空间+3+分数斜杠+4显示为1 ⁄₄。

就我个人而言,我更喜欢使用分数斜杠,因为它使分数看起来更好,就像它们是专业排版的。但是,在某些情况下,ASCII斜杠更好,例如单间隔文本,或者希望所有ASCII输出,或者正如Michael提到的,将文本限制为可以在键盘上键入的字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56605128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档