1-3-2.電子文字体系
📖この節では、次の項目について説明する。
【
🖈多彩すぎた文字コードセットと文字化け
【
🖈Unicode策定の経緯
【
🖈Unicodeでの記録方式の種類
🖈方式
なお、この節では横文字があまりに多いため、縦組み表示を常用している人へも横組み表示を
†
📕【
〈成り立ちを同一とする文字のひと
[
なお、しばしば略して{文字コード}と呼ばれるが、これは「文字番号」のそれと
文字体系とは通常、「ギリシア文字」「ピクトグラム」「簡体字」「
しかし電算の文脈で
📍多彩すぎた文字コードセットと文字化け
各言語ごとで使用する文字が異なるため、各言語ごとに別個の文字体系が乱立しており、日本語向けには「
が、たとえば{愛}の文字番号はJISで「#𝟹𝟶𝟸𝟼」、Shift-JISで「#𝟾𝟾𝙰𝟺」、EUC-JPで「#𝙱𝟶𝙰𝟼」と、てんでバラバラ。
このように、異なる文字体系のテキストデータには基本、互換性が無い。
また、どの文字体系かという情報は、標準ではテキストファイルに記録されないため、プログラムが自力でこれを自動判定し、かつそれに成功しないといわゆる「
たとえばJISにおける{文字化け}というテキストを、Shift-JISだと誤認すれば{␛$BJ8;z2=$1}のような感じとなる。
なお、{愛}の文字番号割り当てが見事にバラバラであるのを逆に利用して、テキストファイルの先頭部分にこの{愛}の字を含めておく事で自動判定の成功率を高める、という〝おまじない〟が有った。
†
📕【
〈コンピュータで扱う文字を
〝世界各国の文字を全部ひと
最大1,114,112文字が扱えるとされ、現時点で実際に定義されている文字数は約12万文字。
乱立する文字コードセットに
そしてUnicodeはもうすでに十分普及しているため、「コンピュータ上における文字体系という概念」はそろそろ
📍Unicode策定の経緯
これは当初、一文字あたり記録容量2バイトで事足りるとの見込みで、まずはそれを基準に策定されていた。
ところが後になって全然足りない、つまり〝この字さすがに要らんでしょ〟と切り捨てたはずの文字の多くが、実は必要とされていたと判明したため、のちに4バイト基準に拡張された、という経緯が有る。
前者を「
そのUCS-4のうち、UCS-2と重複する部分、つまり文字番号が2バイトで収まる部分を「UCS-2区間(#𝟶〜#𝙵𝙵𝙵𝙵)」、そこからはみ出る部分を「UCS-4区間(#𝟷𝟶𝟶𝟶𝟶〜#𝟷𝟶𝙵𝙵𝙵𝙵)」と呼ぶ事も有る。
なおUCS-4においても、UCS-2区間に該当する文字は文字番号が変わらず、実務上で扱いに違いが出ないため、利用者的にはこの2つの用語は実質無視できる。
†
📕【
〈あるデータについて実際にどのような形で記録するかを定めた方式〉の意。
[
たとえば〝12345〟というデータについて、仮に{くぁwせdrftgyふじこlp}のようなデタラメな形で保存したとしても、次に読み込むときに〝12345〟に復元できればよい。
だから実際にどのような形で記録するかは、利便性や処理速度などの都合によって、プログラム個々が様々に変える。
📍Unicodeでの記録方式の種類
Unicodeでも文字体系とは別途、決められた文字番号を実際にどういう形で記録するか、という
•
◦4バイトのUCS-4文字番号を4バイト(32ビット)ままで記録
•
◦2バイトのUCS-2区間文字番号を2バイト(16ビット)ままで記録
◦それ以外の文字番号は特別な「サロゲート文字」を2文字使って記録
•
◦「7ビット文字(半角英数字など)」の文字番号を1バイト(8ビット)単位で記録
◦それ以外の文字番号は特別方式で複数バイトを連結して記録
•
◦特殊環境仕様のUTF-8ライクな記録方式
なお「UTF」は「
ただし最後のものは特殊環境向けであるため、一般的には3種類、とも言える。
ほか、細かい話をすれば「UTF-16LE」「UTF-16BE」なども有るが、これらの事は忘れたほうがいい。
※拝啓
多用される文字が、本来それのみで運用しようとしたUCS-2区間に、当然ながら集中している。
つまり常用には、一文字あたり2バイト単位での記録で十分耐えうるので、4バイト単位のUTF-32だと記録容量的にムダが多い。
よって普通は、UTF-16かUTF-8で記録する。
📍方式
一般に流通しているテキストデータの多くがUTF-8なので、それに
ただしUTF-8は、〝欧米での英数字主体のテキストデータを、再変換なしにUnicodeテキストとして通用させる〟というコンセプトの
だから「7ビット文字(半角英数字など)」オンリーのテキストデータは、一般にローカル文字体系と同一の形になる。
「ローカル
すると結果、「UFT-8で保存したはずのファイルを閉じてからまた開くと、テキストエディタの編集モードがShift-JISになる」という事が起こってくる。
このとき、それに気付かずに編集を続けると、その編集結果のShift-JISデータをUFT-8データのつもりで人に引き渡してしまう、といった事故が発生する。
これがUTF-16やUTF-32であれば、ファイルデータ先頭に「
そしてそもそもUTF-8は、「7ビット文字(半角英数字など)」以外を記述すると、データ量が
具体的には、UTF-16であれば2バイトで済むはずの日本語常用文字が、3バイトに膨れ上がる。
以上から、つまりUTF-8で喜ぶのは欧米人に限定され、日本語環境ならば実のところ、UFT-16のほうが難は少ない。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます