UTF-8形式のペルシャ数字をASCII形式のヨーロッパ数字に変換するには?

UTF-8形式のペルシャ数字をASCII形式のヨーロッパ数字に変換するには?

ペルシャ数字はヨーロッパ数字۰۱۲۳۴۵۶۷۸۹と同じです0123456789

UTF-8ペルシャ語の数字(in)をASCIIに変換するには?

たとえば、私はなりたい۲۱です21

ベストアンサー1

固定数字のセットなので、手動で実行できます。

$ echo ۲۱ | LC_ALL=en_US.UTF-8 sed -e 'y/۰۱۲۳۴۵۶۷۸۹/0123456789/'
21

(またはを使用trしますが、GNU trではないしかし)

文字セットを認識するには、ロケールをen_US.utf8(または文字セットが属するロケールに)設定する必要があります。sed

そしてperl

$ echo "۲۱" |
  perl -CS -MUnicode::UCD=num -MUnicode::Normalize -lne 'print num(NFKD($_))'
21

おすすめ記事