如何将UTF-8中的波斯数字转换为ASCII中的欧洲数字?

巴巴

在波斯数字中,۰۱۲۳۴۵۶۷۸۹等同0123456789于欧洲数字。

如何将波斯数字(in UTF-8转换为ASCII?

例如,我想۲۱成为21

用户名

我们可以利用波斯数字的UNICODE代码点是连续的并且从0到9进行排序的事实

$ printf '%b' '\U06F'{0..9}
۰۱۲۳۴۵۶۷۸۹

这意味着最后一个十六进制数字是十进制值:

$ echo $(( $(printf '%d' "'۲") & 0xF ))
2

这使这个简单的循环成为转换工具:

#!/bin/bash
(   ### Use a locale that use UTF-8 to make the script more reliable.
    ### Maybe something like LC_ALL=fa_IR.UTF-8 for you?.
    LC_ALL=en_US.UTF-8
    a="$1"
    while (( ${#a} > 0 )); do
        # extract the last hex digit from the UNICODE code point
        # of the first character in the string "$a":
        printf '%d' $(( $(printf '%d' "'$a") & 15 ))
        a=${a#?}    ## Remove one character from $a
    done
)
echo

用作:

$ sefr.sh ۰۱۲۳۴۵۶۷۸۹
0123456789

$ sefr.sh ۲۰۱
201

$ sefr.sh ۲۱
21

请注意,此代码还可以转换阿拉伯数字和拉丁数字(即使混合使用):

$ sefr.sh ۴4٤۵5٥۶6٦۷7٧۸8٨۹9٩
444555666777888999

$ sefr.sh ٤٧0٠٦7١٣3٥۶٦۷
4700671335667

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用文化将变量中的波斯数字转换为英文数字?

来自分类Dev

如何将多个文件中的 Unicode 代码数字替换为 UTF-8 字符?

来自分类Dev

如何从文本字段中获取波斯数字并将其转换为Java中的double?

来自分类Dev

C如何将数组中的ASCII数字转换为文本

来自分类Dev

如何将数字转换为ASCII值或字符并存储在字符串数组中

来自分类Dev

如何将 UTF-8 中的字符串转换为 ASCII 忽略错误并删除非 ASCII 字符

来自分类Dev

你如何将 UTF8 数字转换为书面文本

来自分类Dev

如何将数字转换为熊猫列中的类别

来自分类Dev

如何将数字转换为文本?(在MySQL中)

来自分类Dev

如何将UTF-8文本从文件转换为可以迭代的容器并检查C ++中每个符号是否为字母数字?

来自分类Dev

如何将 iso8859_6 中的文件名转换为 utf-8?

来自分类Dev

如何将R中包含多个点的数字从字符转换为数字?

来自分类Dev

如何将字母数字字符串转换为 R 中的数字?

来自分类Dev

如何将包含科学记数法数字的 varchar 转换为 SQL Server 中的数字?

来自分类Dev

如何将数字表转换为excel中的数字列表?

来自分类Dev

C中的类型转换不起作用(尝试将数字转换为ASCII表示的字母)

来自分类Dev

如何在Excel中使用公式将INR数字格式转换为欧洲数字格式?

来自分类Dev

如何在Objective-C中将字符串中的英文数字转换为波斯/阿拉伯数字?

来自分类Dev

如何将数字转换为字母?

来自分类Dev

如何将数字转换为文本

来自分类Dev

如何将位数转换为数字

来自分类Dev

如何将数字转换为字符?

来自分类Dev

如何将数字转换为字母?

来自分类Dev

如何将数字转换为unicode?

来自分类Dev

如何将货币转换为数字?

来自分类Dev

如何将时间转换为数字?

来自分类Dev

如何将xml字符串UTF8转换为UTF16?

来自分类Dev

如何将xml字符串UTF8转换为UTF16?

来自分类Dev

如何将文本转换为utf32编码

Related 相关文章

  1. 1

    如何使用文化将变量中的波斯数字转换为英文数字?

  2. 2

    如何将多个文件中的 Unicode 代码数字替换为 UTF-8 字符?

  3. 3

    如何从文本字段中获取波斯数字并将其转换为Java中的double?

  4. 4

    C如何将数组中的ASCII数字转换为文本

  5. 5

    如何将数字转换为ASCII值或字符并存储在字符串数组中

  6. 6

    如何将 UTF-8 中的字符串转换为 ASCII 忽略错误并删除非 ASCII 字符

  7. 7

    你如何将 UTF8 数字转换为书面文本

  8. 8

    如何将数字转换为熊猫列中的类别

  9. 9

    如何将数字转换为文本?(在MySQL中)

  10. 10

    如何将UTF-8文本从文件转换为可以迭代的容器并检查C ++中每个符号是否为字母数字?

  11. 11

    如何将 iso8859_6 中的文件名转换为 utf-8?

  12. 12

    如何将R中包含多个点的数字从字符转换为数字?

  13. 13

    如何将字母数字字符串转换为 R 中的数字?

  14. 14

    如何将包含科学记数法数字的 varchar 转换为 SQL Server 中的数字?

  15. 15

    如何将数字表转换为excel中的数字列表?

  16. 16

    C中的类型转换不起作用(尝试将数字转换为ASCII表示的字母)

  17. 17

    如何在Excel中使用公式将INR数字格式转换为欧洲数字格式?

  18. 18

    如何在Objective-C中将字符串中的英文数字转换为波斯/阿拉伯数字?

  19. 19

    如何将数字转换为字母?

  20. 20

    如何将数字转换为文本

  21. 21

    如何将位数转换为数字

  22. 22

    如何将数字转换为字符?

  23. 23

    如何将数字转换为字母?

  24. 24

    如何将数字转换为unicode?

  25. 25

    如何将货币转换为数字?

  26. 26

    如何将时间转换为数字?

  27. 27

    如何将xml字符串UTF8转换为UTF16?

  28. 28

    如何将xml字符串UTF8转换为UTF16?

  29. 29

    如何将文本转换为utf32编码

热门标签

归档