文字とテキスト
「文字数」は、数え方を言わないと決まりません。貼りつけた文章は、どこにも送りません。
国旗の絵文字は、見た目は1文字ですが、機械の中では複数の値でできています。だから「何文字か」は、何を1と数えるかで答えが変わります。字数制限に引っかかったのに画面では足りているように見える、というのはこれが原因で、見た目の数と、投稿先が数えている単位が違うために起きます。ここの道具は、見た目どおりの数と、機械が数えている数の両方を出します。
表記のゆれも同じで、どちらかが正しいのではなく、場面ごとに使う決まりが違うだけです。ローマ字にはヘボン式・訓令式・パスポート式があり、「なんば」が NAMBA になるのはヘボン式の決まりです。全角と半角も、申込フォームが受け付ける側の都合で決まります。どの流儀で書き換えたのかを示すようにしてあります。
この分野の道具(26本)
- 早口言葉の口の動きひらがなで打つと、拍ごとに口の前・中・奥を並べます。似ている隣も文字で指します(難しさの点数は出しません)
- 文字数カウント絵文字も見た目どおり1文字。制限に引っかかる原因の UTF-16 の値も同時に出します
- 全角・半角英数字だけ、カタカナだけ、と対象を選べます。半角カナの濁点も正しく合成
- ローマ字ヘボン式・訓令式・パスポート式を同時に。なんばがNAMBAになる理由も説明します
- 文字化け復元考えられる直し方を全部並べます。戻せない文字はその数も出します
- CSV 文字化け・変換ファイルを置くと文字コードと区切りを判定し、UTF-8(BOM 付き)・Shift_JIS・TSV・JSON・Excel(xlsx)・Markdown・HTML に変換して保存します。ファイルは端末の中だけで読みます
- 漢数字「二〇二六」の位取りと「二千二十六」の命数、どちらの書き方にも直します
- 逆さま文字Unicodeには本当にひっくり返った字があります。並びも逆にしないと読めません
- 文字の並べ替え10文字で362万通り。同じ字があると数が一気に減ります
- なぞなぞの作り方なぞなぞの型は6つ。その6つとも、1516年の日本最古のなぞなぞ集に同じ形の問題があります
- 数字のカンマ区切り日本語は4桁ごとに単位が変わるのに、3桁でカンマを打ちます。両方を並べます
- 数字を英語の読み方に英語は3桁ごと、日本語は4桁ごとに単語が変わるので、10,000に英語は「万」にあたる1語を持ちません
- 無量大数までの数の単位江戸の算術書『塵劫記』を実際に開くと、恒河沙から上の値は本によって違います。3つの表を並べます
- 小さい数の単位同じ九分九厘でも、小数の名なら0.99、割の言い方なら0.099。割が入ると1つずれるので両方並べます
- あそびの暗号合言葉で文字をずらします。自分の暗号が破られるところまで見せます
- もらった暗号を読む貼りつけて合言葉を入れるだけ。合言葉はリンクに入っていません
- 文字と0と1「あ」がUTF-8で3バイトになる様子を、1ビットずつ見せます
- ピッグ・ラテン英語圏の子どもの隠し言葉。決まりが1つでないことも書いています
- 文章の下ごしらえ余分な空白を取り、決めた区切りで割る。貼った文章は送りません
- 文字の入れ替え「最初と最後さえ合っていれば読める」という話を、日本語で試すと崩れます
- ひらがな・カタカナ2つの表は0x60ずれて並んでいます。例外がどこかも出します
- 音節を数えるpeople も business も2音節。カタカナで数えると、たいてい外れます
- 絵文字だけ抽出・削除家族の絵文字・国旗・肌の色・数字の丸囲みも、見た目どおり1つの絵文字として数えます
- 部首から漢字を探す214の部首を全部並べます。部首を選ぶと、常用漢字2136字のうちその部首の字が出ます
- 漢字は何年生で習う漢字を1字打つと、小学校の何年生で習う字かを出します。学年ごとの一覧と、前の表と学年が違う57字も並べます
- 歴史的仮名遣いの読み方けふ・てふのような1語を入れると、告示の付表の行で区切って、現代仮名遣いの候補を並べます
同じ字に見えて、機械の中では別の字
「高」と「髙」、「崎」と「﨑」のように、見た目がよく似ていて、機械の中では別の値になっている字があります。名前に使われることが多いので、申込フォームで弾かれたり、送った先で表示が崩れたりする原因になります。似ているかどうかは目で決まるのに、機械は値でしか比べられません。
半角カタカナも同じ話で、「ア」と「ア」は別の値です。こうした見た目の差をそろえるために正規化(NFKC など)という手続きがあり、半角カタカナを全角に、丸数字をただの数字に直します。ただしそろえたあとは元に戻せません。そろえてよい場面かどうかは、書いた人にしか決められません。
1文字をどう数えるかは、1つに決まらない
絵文字や、記号を組み合わせて作る字は、見た目が1文字でも、機械の中では2つ以上の部品でできています。だから文字数を出すときは、部品の数を数えるのか、人が1文字と見るまとまりを数えるのかを、先に決めておかないといけません。
決めずに数えると、数えた先どうしが食い違います。同じ1つの絵文字が、数え方によって1にも2にも、それ以上にもなるので、出てきた数字だけを見せられても、何を数えたのかが分からないと比べようがありません。
字の「数」と、画面で占める「幅」もまた別のものです。半角と全角はどちらも1文字ですが、並べたときの長さは違います。表の桁をそろえたいときに本当に数えているのは、文字の数ではなく幅のほうです。
文字化けは、壊れたのではなく読み違えている
「譁�蟄怜喧縺�」のような並びは、データが壊れたのではありません。ある文字コードで書かれたものを、別の文字コードとして読んだ結果です。読み方さえ合えば元に戻ります。逆に、読めない字を「?」に置き換えて保存してしまったものは、そこで情報が落ちているので戻せません。
「〜」や「-」のような記号が化けやすいのは、見た目の似た文字が複数あり、変換表が食い違っていた時期があるためです。だから復元は、どの読み方を当てたかを見比べる作業になります。候補を並べて出しているのは、それらしい読み方がいくつも出てくる場面もあるからです。
あそびの暗号と、本当の暗号の境目
文字を3つずらすシーザー暗号は、ずらす数が25通りしかないので、全部試せばすぐ読めます。文字を1対1で置き換えるやり方も、日本語なら「い」や「か」、英語なら e の出やすさが手がかりになり、数えるだけで崩れます。
あそびの暗号が破られるのは、鍵が短いからだけではありません。元の文章の癖が、形を変えないまま残るからです。自分で作って自分で解いてみると、何を隠せていないのかが見えます。人に読まれて困るものには使えない、という線もそこで引けます。
音を数えると、字の数とは合わない
早口言葉が言いにくいのは、字が多いからではありません。口の中の近い場所で作る音が、続けて出てくるからです。「なまむぎ・なまごめ」は、舌の先を上あごに付ける音と、唇を閉じる音が交互に並びます。切り替えが細かいほど、速く言うと崩れます。
音の数え方もいくつかあります。日本語は「拍(モーラ)」で数えるので、「きゃ」は1拍、「きゅう」は2拍です。英語は「音節(シラブル)」で数えるので、strength は子音の字が7つ並んでいても1音節です。同じ言葉を数えても、数え方が違えば答えが違います。