gpt4 book ai didi

unicode - 在 Unicode 中,为什么阿拉伯数字有两种表示形式?

转载 作者:行者123 更新时间:2023-12-02 08:43:27 24 4
gpt4 key购买 nike

我正在阅读 Wikipedia 的 Unicode 规范 ( Arabic Unicode )我发现每个阿拉伯数字都有 2 个 Unicode 代码点。例如,1 定义为 U+0661 和 U+06F1。

我应该使用哪一个?

最佳答案

根据 code charts , U+0660 .. U+0669 是阿拉伯-印度数字值 0 到 9,而 U+06F0 .. U+06F9 是扩展阿拉伯-印度数字值 0 到 9。

在 Unicode 3.0 书中(5.2 是当前版本,但这些东西一旦设置就不会发生太大变化),U+066n 系列字形被标记为“阿拉伯-印度数字”,U+06Fn 系列字形被标记为“阿拉伯-印度数字”标记为“东部阿拉伯-印度数字(波斯语和乌尔都语)”。它还指出:

  • U+06F4 - “波斯语和乌尔都语中的不同字形”
  • U+06F5 - “波斯语和乌尔都语的字形与阿拉伯语不同”
  • U+06F6 - “波斯语字形与阿拉伯语不同”
  • U+06F7 - “乌尔都语字形与阿拉伯语不同”

比较:

  • U+066n: ٠١٢٣٤٥٦٧٨٩
  • U+06Fn:0123456789

或者,通过将信息制成标题来放大:

U+066n: ٠١٢٣٤٥٦٧٨٩

U+06Fn:0123456789

或者:

     U+066n    U+06Fn
0 ٠ ۰
1 ١ ۱
2 ٢ ۲
3 ٣ ۳
4 ٤ ۴
5 ٥ ۵
6 ٦ ۶
7 ٧ ۷
8 ٨ ۸
9 ٩ ۹

(您是否可以看到其中任何一个,以及它们的区别程度可能取决于您的浏览器和您计算机上安装的字体以及其他任何东西。我可以清楚地看到 4 和 6 的区别;5 看起来好多了两者相同。)

根据此信息,如果您使用中东的阿拉伯语,请使用 U+066n 系列数字;如果您使用波斯语或乌尔都语,请使用 U+06Fn 系列数字。作为 Unicode 应用程序,您应该接受任意一组代码作为有效数字(但您可能会对混合两组数字的序列表示怀疑 - 或者您可能只是不理会)。

关于unicode - 在 Unicode 中,为什么阿拉伯数字有两种表示形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1676460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com