The nuances of base64 encoding strings in JavaScript | Articles | web.dev
絵文字やサロゲートペアを安全に扱えるBase64エンコードについて。
btoa()
/atob()
はUnicodeを扱うときに問題があるためTextEncoder
でエンコードしてから扱う。
TextEncoder
は単独のサロゲートを持つ文字列を不正なデータとして � に置き換えてしまうため、isWellFormed()
を使い判定する話