日刊!プチコン3号――使える文字数が256倍に!! 「文字コードとDIALOG」カウントダウン企画……あと8回

» 2014年11月10日 19時52分 公開
[瓜生聖,ITmedia]

使える文字数が256倍に――「文字コードとDIALOG」

 日本語といえば文字数の多い言語の1つ。ハードウェアスペックの低かった80年代初期のレトロPCでは、漢字を使える機種は限られていた。さらに、漢字が使えない機種の中にも英大文字のみ、英大文字・小文字とカタカナのみ、それに加えてひらがなまで、などの差があった。

 これは1文字を8ビットで表す、という前提のもと、そのわずかなスペースの中にどのようなキャラクタを押しこむか、という各メーカーの設計の違いによるものだ。機種によっては英大文字のみと割り切って、代わりにグラフィック文字と呼ばれる罫線やトランプのスート、人型などを多く入れているものもある。グラフィック機能のない機種では、画面すべてを文字で表現するため、グラフィック文字が扱えると表現力が増す。

 当時のレトロPC同様、1文字を8ビットで表現するプチコンmkIIでは英数字(英大文字/小文字)、記号、カタカナ、グラフィック文字256種類を扱うことができた(コントロールコードは存在しない)。プチコン3号では文字列の内部管理をUnicode(UTF-16)に移行し、扱える文字種が一気に増加した。なお、BOMは認識されない。

 漢字を扱うこともできるが、実際に漢字が表示できるのはDIALOG命令を使ったときだけ。コンソール画面および編集画面では漢字部分が「四角にバツ印」の豆腐になってしまう。どこででも表示可能な文字はキーボードから入力可能な文字で、プチコンmkIIと比べ、新たにひらがな、濁点・半濁点付きカタカナなどの日本語のほか、アキュート・アクセントやウムラウトなどダイアクリティカルマークのついたアルファベット、合字、ギリシャ文字、キリル文字などが含まれる。

 DIALOGは下画面に問い合わせ用のダイアログを表示して入力待ち状態にする命令。入力は大変だが、アドベンチャーゲームなどで活用できるだろう。

キーボードから入力できる文字種

画面は左から、標準(英大文字)、英小文字、グラフィック文字

画面は左から、グラフィック文字(シフト)、グラフィック文字2、グラフィック文字2(シフト)

画面は左から、記号、記号(シフト)、ダイアクリティカルマーク

画面は左から、ダイアクリティカルマーク(シフト)、合字、合字(シフト)

画面は左から、ギリシャ文字、ギリシャ文字(シフト)、キリル文字

画面は左から、キリル文字(シフト)、カタカナ(シフト)、カタカナ

画面は左から、ひらがな、ひらがな(シフト)

DIALOGは漢字対応(画面=左)。コンソールではひらがなは読めるものの、漢字はすべて「四角にバツ印」になってしまう。なお、表示できないだけでプログラム内の文字列定数として使うことは可能(画面=中央)。こちらはプチコンmkIIのキャラクタコード。256種のみだった(画面=右)

関係する命令

DIALOG "テキスト文字列"

 説明(1/2)

  ダイアログを下画面に表示し、了解ボタンが押されるまで待つ

 引数

  テキスト文字列:ダイアログに表示する文字列

 変数=DIALOG("テキスト文字列",[選択タイプ番号],["キャプション文字列"],[タイムアウト時間])

 説明 (2/2)

  ダイアログを下画面に表示し、指定したボタンが押されるまで待つ

 引数

  テキスト文字列

   ダイアログに表示する文字列

  選択タイプ番号

   0:了解(デフォルト)

   1:いいえ/はい

   2:戻る/次へ

   3:中止/決定

   4:中止/実行

   5:次へ

   -1:(特殊モード)

  キャプション文字列

   ダイアログ上部のキャプション欄に表示する文字列

  タイムアウト時間

   操作がないときにダイアログを自動的に閉じるまでの秒数

   デフォルト:0(タイムアウトしない)

 戻り

   -1:否定(左ボタン)

   0:タイムアウト

   1:肯定(右ボタン)

  128:Aボタン押下(特殊モード時)

  129:Bボタン押下(特殊モード時)

  130:Xボタン押下(特殊モード時)

  131:Yボタン押下(特殊モード時)

 補足

  ・テキスト文字列、キャプション文字列の合計は256文字まで

  ・文字列にCHR$(10)かCHR$(13)があると、そこで改行される

   (ただしキャプション文字列は1行のみ表示)

  ・文字列にCHR$を用いてUTF16の文字コードを含めると、

   漢字表示も可能

文字列変数 = CHR$(文字コード)

 説明

  指定された文字コードから文字を返す

 引数

  文字コード

   文字ごとに対応する番号

   ※(著者注)文字コードは16ビット

 戻り

  文字コードに対応する文字

 変数 = ASC("文字")

 説明

  指定された文字のASCIIコードを返す

 引数

  "文字"または文字列変数

 戻り

  指定された文字の文字コード

  ※(著者注)戻り値は16ビット

 次回はプチコンmkIIから大幅に使いやすくなった編集モードを紹介する。

※本稿の内容は開発中のものです。製品版配信時には仕様が変更される場合があります。

 「日刊!プチコン3号」で取り上げて欲しいネタや疑問、質問、感想は、ハッシュタグ「#nikkan_petitcom3」をつけてツイート! ライターの瓜生氏がたぶん(連載の中で)答えてくれるぞ。


Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2026年08月05日 更新
  1. Windows 11は8GBメモリでも快適に使えるようになる? 品質向上への取り組みと「26H2」に向けた中間報告 (2026年08月03日)
  2. テプラ、PC接続にも対応したラベルプリンタ「テプラ PRO」新モデル (2026年08月03日)
  3. PC市場の逆風下でMicrosoftが仕掛ける“サプライズ”とは? 2026年後半のSurface新製品を予想する (2026年08月04日)
  4. 新GPU「Radeon RX 9050」が登場するもアキバの反応は静か――2026年8月最新パーツ事情 (2026年08月03日)
  5. 「人主導」から「自律実行」へ――進化する「Microsoft 365 Copilot」の新機能とエージェントAIの現在地 (2026年08月04日)
  6. 10万円台で手に入る、理想の座り心地 電動サポート&ストレッチ機能が魅力のエルゴノミクスチェア「LiberNovo Omni Gen」を試す (2026年08月04日)
  7. AIデータセンターの“真の実力”を左右する「CPU」 その復権の背景にあるものとは? (2026年08月03日)
  8. 「全グレードで2〜3割増し」の衝撃 グラフィックスカードの値上がりラッシュでアキバの購入制限が深刻化 (2026年08月01日)
  9. ノジマの「VAIO Shop in Shop」でカスタマイズVAIOを購入可能に 店頭でデザインや質感を確認しながら購入可能 (2026年08月03日)
  10. リコーPFUコンピューティング、Coreプロセッサの搭載に対応した産業向けATX/microATXマザーボード (2026年08月03日)
最新トピックスPR

過去記事カレンダー