数字の絵文字とUNICODE

この記事は約3分で読めます。

数字の絵文字とUNICODE

絵文字 UNICODE
0️⃣ \u0030\ufe0f\u20e3
1️⃣ \u0031\ufe0f\u20e3
2️⃣ \u0032\ufe0f\u20e3
3️⃣ \u0033\ufe0f\u20e3
4️⃣ \u0034\ufe0f\u20e3
5️⃣ \u0035\ufe0f\u20e3
6️⃣ \u0036\ufe0f\u20e3
7️⃣ \u0037\ufe0f\u20e3
8️⃣ \u0038\ufe0f\u20e3
9️⃣ \u0039\ufe0f\u20e3

数字の絵文字はUNICODEでは3バイトになる

後半の2バイト(\ufe0f\u20e3の部分)は共通
先頭の1バイトが \u0030~ \u0039で絵文字の09に対応している

pythonで文字列中に出てくる数字の絵文字を普通の数字に変換する方法

def trans_emoji_digit(text):
    text = text.replace('\u0030\ufe0f\u20e3', '0') 
    text = text.replace('\u0031\ufe0f\u20e3', '1') 
    text = text.replace('\u0032\ufe0f\u20e3', '2') 
    text = text.replace('\u0033\ufe0f\u20e3', '3') 
    text = text.replace('\u0034\ufe0f\u20e3', '4') 
    text = text.replace('\u0035\ufe0f\u20e3', '5') 
    text = text.replace('\u0036\ufe0f\u20e3', '6') 
    text = text.replace('\u0037\ufe0f\u20e3', '7') 
    text = text.replace('\u0038\ufe0f\u20e3', '8') 
    text = text.replace('\u0039\ufe0f\u20e3', '9')
    return text

上記のようなpythonコードで絵文字数字を普通の数字に変換できる

text.replace(‘\u0030\ufe0f\u20e3’, ‘0’)で0️⃣を0に変換して
text.replace(‘\u0031\ufe0f\u20e3’, ‘1’)で1️⃣を1に変換して
というのを0~9まで計10回行っている

text = '0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣'
text = trans_emoji_digit(text)
print(text)

元のtextが「0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣」だった場合
print(text)の出力は「0123456789」になる

コメント

タイトルとURLをコピーしました