1-3.「字の電算」

1-3-1.電算における文字

📖この節では、次の項目について説明する。

  【でん

   🖈コンピュータと人とでの文字認識の違い

   🖈まぎらわしい字体と混同の問題

   🖈歴史的混同の問題

  【とくべつ

   🖈特別文字の例

   🖈題名づけに半角記号を使うべからず

  【ばんごう

  【じゅうろくしんすう

   🖈進数という概念

   🖈十六進数の利用

   🖈十二進数に関するいつ


 なお、この節では横文字があまりに多いため、縦組み表示を常用している人へも横組み表示をすいしょうする。



      †



📕【でん

 〈コンピュータが扱う文字〉の意。


   📍コンピュータと人とでの文字認識の違い


 実はコンピュータは、文字を直接扱えない。

 その実態はコンピュータ内部で数値を識別し、〝この番号ならこの文字〟〝その番号ならその文字〟と、プログラムによっていちいち挙動を変えて別々の「字形に見える画像」を表示させる、という事をしているだけのもの。

 字形自体を認識して、処理をしているものではないのだ。

 逆の話をすると、人には同じ字形に見えるものであっても、それらがコンピュータには厳格に区別される事がある。

 つまり人が文字個々を「映像」として認識するのに対し、コンピュータは文字個々をそれぞれ「像に依存しない抽象的な何か」として処理する。

 この差異により、人がコンピュータで文字の入力や閲覧をする場合には、一定の混乱が生じてくるもの。

 それにより、思わぬトラブルに発展する場合も有るため、コンピュータで文章を扱う際には、細心の注意を払われたい。


   📍まぎらわしい字体と混同の問題


 たとえば、字形がおそろしく似ることから非常に混同されがちだが、「範囲符(#𝟹𝟶𝟷𝙲)」と「全角チルダ(#𝙵𝙵𝟻𝙴)」は別字扱いとされる。

 この「tildeチルダ」とは、文字装飾として用いられる記号。

 その定義を無視して「範囲符」を{全角チルダ}に代理させると、「〝A~C〟を〝ÃC〟と結合して表示してくれるプログラム(※実在します)」に困らされる可能性も有る。

 そして面倒なことに、PCのキーボードから直接入力できるのは{全角チルダ}のほう。

 したがってこのような場合、「範囲符」を{から}という読みで変換辞書に登録するなどして、特別な入力手続きをとる必要がある。


 字形がそっくりなものとしては、「漢数字レイ(#𝟹𝟶𝟶𝟽)」と「丸記号(#𝟸𝟻𝙲𝙱)」もある。

 本当に、〝二八〇〟との漢数字を〝280〟とのアラビア数字に変換してくれるプログラムも存在するもの。

 その場合、{丸記号}と取り違えていれば「28○」と、微妙な処理結果になってしまう事も考えられる。

 最近の入力システムでは変換時に、〝記号〟〝漢数字〟とヒントを表示してくれるようにもなっているので、よく注意しながら入力されたい。


 またよく誤解されるが、「#、#ナンバー(横棒が水平)」と「シャープ(横棒が斜め)」も別々の記号である。

 前者は何らかの番号の前に振るもので{ナンバー}と同等であり、また字形から「げた」とも呼ばれるもの。

 そして後者は音楽記号である。


   📍歴史的混同の問題


 ほか、かつては「¥半角円記号(#𝙰𝟻)」と「\半角バックスラッシュ(#𝟻𝙲)」が、同一の文字番号に割り振られてしまっていた。

 そのため、かたなしにフォント変更によって強引に表示を変えていた、という経緯が有る。

 これに由来して、この2つを同字とみなす事があり、かつ{¥半角円記号}が「バックスラッシュ」と呼ばれる事がある。

 現在主流のUnicodeユニコードでも、フォントによって{\半角バックスラッシュ}はその字形が変わる(この例示も、PCで見たら円記号、スマホで見たらバックスラッシュ、みたいになってないかな)。


 これに影響されず、どうしても確実に半角バックスラッシュの字形が欲しい、という場合には「バックスラッシュ演算子(#𝟸𝟿𝙵𝟻)」という数学記号に代理させたほうがいいかもしれない。

 ただしその場合、数学記号に対して特別な処理をするプログラムにおいては、チルダの例のように意図せぬ動作を招く可能性も考えられるため、〝〟と理解されたい。



      †



📕【とくべつ

 〈プログラム上で特別扱いされる文字〉の意。


 一般に、特別な機能を持つ文字は「せいぎょ」と呼ばれるが、これらは字形を持たないため、視覚上に現れることは無い。

 一方で、きちんとした字形を持つ通常の文字であっても、プログラムによっては特別扱いされる場合が有り、それを「とくべつ」と呼ぶ。


   📍特別文字の例


 たとえばここ『カクヨム』では次の4字が、ルビや傍点の指示に用いられる特別文字として扱われる。


  • 〝《〟(開き二重山かっ

  • 〝》〟(閉じ二重山かっ

  • 〝|〟(半角バーティカルバー)

  • 〝|〟(全角バーティカルバー)


 これらの文字自身が指示に関与するゆえに、これらそのものをルビや傍点の中に含めるのは無理だ。

 今のところ残念ながら、この制限の回避方法は提示されていない。

 ルビはともかく、〝《》〟に傍点を振りたいってニーズは有ると思うんだけどなあ。


 なお、〈特別文字の組み合わせによって挙動を指示する手法〉を「Escapeエスケープ Sequenceシーケンス」と呼ぶ。

 次のような指示を受け付けるようになっている。


  • 漢字ルビ:〝これは漢字《ルビ》だ〟 → 「これは漢字ルビだ」

  • 範囲ルビ:〝これは|テスト《ルビ》だ〟 → 「これはテストルビだ」

  • 傍点:〝これは《《テスト》》だ〟 → 「これはだ」


 特別文字そのものを表示したい、という場合もあるだろう。

 そのためのエスケープシーケンスがもう1つある。


  • 開き二重山かっ:〝|《〟 → 「《」


 〝》〟については、単体でそのまま表示可能だ。

 〝|〟も同様だが、ただしこちらは同じ行中のそれ以降に〝《〟が登場する場合には、ルビ指示との混同により正常解釈されない。

 この回避のため確実に、〝|《〟と記述するようにする。


   📍題名づけに半角記号を使うべからず


 ほか題名が、コンピュータ上でのファイル名として、管理されることがしばしば有るだろう。

 しかしこの題名とは、作者だけが管理するとは限らない「こうきょうてきもの」だ。

 そしてファイルシステム上でも、特別文字となりうるものが、半角記号にいくつか存在する。

 一般には次のものが有るが、場合が有るため、少なくともここで挙げた文字を題名に使用するのは〝〟避けられたい。


  • パス記号:{:半角コロン}{/半角スラッシュ}{\半角バックスラッシュ}{半角ピリオド

  • ワイルドカード記号:{?半角疑問符}{*半角アスタリスク

  • コメント記号:{#半角ナンバー

  • 変数記号:{@半角アット}{$半角ドル}{%半角パーセント

  • パイプ記号:{<>半角大小記号}{半角バーティカルバー〝|〟}

  • 結合記号:{&半角アンパサンド}{+半角プラス

  • ブロック記号:{()半角小括弧}{{}半角中括弧}{'半角アポストロフィ}{`半角グレイヴアクセント}{"半角二重引用符}{半角セミコロン


 究極には、〝半角記号の使用を避けるのが安全〟と言える。



      †



📕【ばんごう

 〈コンピュータで扱うために各電子文字に対して振った固有番号〉の意。

 [コード]と書いて同義。


 コンピュータでは二進表現、つまりいわゆる「0と1のれつ」と「そのれつを二進数として解釈した数値」しか扱えない。

 そのため、ただの数値である番号に特定の文字を対応させる、もので、個々の番号自体には深い根拠は無い。



      †



📕【じゅうろくしんすう

 〈一けたを十六値で表す数値表現〉の意。


   📍進数という概念


 一般に用いられる十進数は、{0〜9}の10文字でもって、一けたを表現する。

 十六進数ではそれに加え、〈10〜15〉の意とする{𝙰〜𝙵}も合わせた、16文字によって一けたを表す。

 たとえば、十進数では{9}の次が{10}と2けたになる一方、十六進数では{#𝟿(9)}の次は{#𝙰(10)}とまだ1けたであり、{#𝙵(15)}の次にやっと{#𝟷𝟶(16)}と2けたになるもの。


   📍十六進数の利用


 通常、文字番号をはじめとするコンピュータデータの表現には、この十六進数を用いる。

 これは、情報単位「byteバイト」を十六進数2けたでちょうど表せる、との利便性による。

 コンピュータゲームでは、〝カンストの数値〟として「255(#𝙵𝙵)」や「65,535(#𝙵𝙵𝙵𝙵)」がおみかと思われるが、つまりそれぞれ〈1バイト表現の最大値〉〈2バイト表現の最大値〉である。


 十六進数は{hexヘクス}とも呼ばれるが、これは〔hexa-decimalヘキサ・デシマル〈十六進数〉〕が略されたものであり、これ単体では〈6〉の意であり、また「sixシックス」の語源でもある。

 十六進数がアルファベットを含まない場合、十進数と区別がつかないので、十六進数である事を明示するために〝(𝟷𝟼):〟〝𝚑𝚎𝚡:〟〝𝙷〟〝𝙷𝚍〟〝𝚇〟〝#〟〝𝟶𝚡〟〝\𝚡〟〝&#𝚡〟などがよく前置きされるもので、こういった前置きを「prefixプレフィクスぜん)」と呼ぶ。

 〝𝙷〟〝𝚑〟〝𝚇〟〝𝚡〟などが後置きされることも有り、こちらは「postfixポストフィクスこう)」。

 つまり{𝚑𝚎𝚡:𝟸𝟿𝙵𝟻}{𝟶𝚡𝟸𝟿𝙵𝟻}や{𝟸𝟿𝙵𝟻𝚑}{𝟸𝟿𝙵𝟻𝚡}のように表記される。

 ただし決まった形式が有るわけでないので、読み手のひとはぶんみゃくにしたがってがんばってかいしゃくしてください(

 ああそういえばカイシャのセンパイにゲームタイトル『F-ZEROエフ・ゼロ Xエックス』を口頭で伝えたら十六進数の「𝙵𝟶エフゼロ𝚡エックス」だと勘違いされたことが有ったね(

 なお私見、プログラムのソースコード等に記述する場合はともかく、平文のテキストで記述する限りでは、前置き〝#〟がっとも見やすいと感じられるのでオススメする。


   📍十二進数に関するいつ


 ちなみに〝一般において十進数が基本なのは、人の手指の数に由来するもの〟というのが定説。

 ならんで、〝っとも根源的な進数は十二進数である〟との説も有る。

 実際にも、自然界を計るには十二進のほうが丁度ふさわしい場合が多く、方位や暦や時刻などで十二進ベースだったり、あるいは音楽の1オクターブが十二音階なのはその証左、と説かれるもの。

 「dozenダース」「grossグロス」も、多人数で物を分けるには約数の多い十二進のほうが都合がいい、との理由からくる十二進数の単位である。

 しかしこれが海外では、〝悪魔をかぞえる場合〟に限定して「1ダース=13」との勘定がされる、らしい。

 それは〝12の聖剣で魔王をると13の悪魔に分裂する〟からであり、また〝それゆえ13はすうである〟とのこと。

 ……。


 こンの中二病めがああぁぁあ‼(

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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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