概要
Pythonコード上で文字列からサロゲートペア文字を取り除く必要がありました。
サロゲートペア文字と、取り除いた対処法についてまとめます。
背景
「特定の条件を満たすメールを受信した場合に外部サービスに起票するシステム」を開発・運用していて、起票対象のメールにiOSの絵文字などサロゲートペア文字が含まれているとBacklogの起票に失敗※してしまいました。
サポートに問い合わせたところサロゲートペア文字に対応していないと回答いただいたので、Backlogへ起票する前にサロゲートペア文字を取り除く処理をいれることにしました。
※失敗時にはAPIからレスポンスとして「code:1 Incorrect String」が返ってきます。Web画面で直接課題を起票した場合は「Backlogがサポートしていない文字「🏣」が詳細に含まれています」といったメッセージが出ます。
サロゲートペア文字とは
通常文字は2バイトですが、サロゲートペア文字は4バイト(2文字分)あります。
Unicodeで「U+16進数5桁(U+10000 ~ U+1FFFFF)」の範囲になります。
…
全文はこちら:サロゲートペア文字を取り除く方法(Python)
著者:@y-kob