カクヨムの仕様

ゆむ

第1話 サロゲートペア

コンピューターで取り扱う文字の集合の一つにUNICODEというものがある。

これは、当初は「世の中の全ての文字は、2バイトで表せる65536種類に収まるだろう」ということで規格が策定されたのだが、結論から言うと65536では足りなかった。

1文字は必ず2バイトで表せるはずだったのが、それはできなくなってしまったのだ。


現状ではUNICODEの体系はマルチバイト系となってしまい、単純にバイト数から文字列を数えることはできない。


その要因のひとつに『サロゲートペア』というものがある。あまり使わない漢字などがを後からアレもコレもと追加しまくった領域のことなのだが、ここに常用漢字が一つ入ってしまっている。

『𠮟』という文字だ。『叱』という字が別に存在するが、これは書き順が違う同じだが別の文字だ。



さて、カクヨムの対応状況を見ると、入力画面の文字数は大雑把すぎてサロゲートペアに対応しているかはよく分からない。

恐らく、「サロゲートペアや合成文字、異体字セレクタなどを考えると、リアルタイムでそんなものを正確にカウントなどしていられるか!」と言うことなのだろうと思う。


投降後に表示される文字数カウントでは、サロゲートペアを含んでいても正しく『文字数』をカウントしている。


※ 入力画面の右下の文字数カウントはJavaScriptで実装され、閲覧者のスマホやPCで計算されている。それに対し、投降後画面・一覧画面での文字数はカクヨムのサーバーでの処理となり、全く別系統のプログラムが動いている。



文字の入力や表示に関しては問題なく処理されているようで、文字化けを起したりエラーとなってしまうことはないので、遠慮なく使っても良いのだろう。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る