日刊!プチコン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年11月16日 更新
  1. Googleが「Gemini 4 Carbon」一般提供開始/Anthropicが「Claude Fable 5.2」「Claude Mythos 5.2」を発表 (2026年11月15日)
  2. 「GeForce RTX 5090」搭載グラボに50万円超の“幅” そのワケは? (2026年11月14日)
  3. PCゲームの「起動に時間がかかりすぎる問題」と「プチフリーズ」はなぜ起こる? その原因を乗り越える取り組みも (2026年11月13日)
  4. Google初の紛失防止タグ「Pixel Tag」実機レビュー! Galaxy SmartTag2との比較で見えた薄さの魅力と検知の実力 (2026年11月12日)
  5. 液タブメーカーHUIONが作るAndroidタブレットの実力は? “手帳”の「Note E」と“お絵描き”の「Kamvas Pad 12」をプロ絵師がチェック! (2026年11月13日)
  6. 難関のWi-Fi配線もクリア! デルの「親子パソコン組立教室 2026」で子どもたちが最新PC作りに挑戦 (2026年11月14日)
  7. 無料プラン廃止とストレージ制限の衝撃! 「Microsoft 365 Education」新プランに見る――“アメとムチ”の戦略でGoogleの牙城は崩せるか (2026年11月11日)
  8. 総メモリ748GB、AI性能20PFLOPS! デルがGB300搭載のワークステーション「Dell Pro Max with GB300」を発売 (2026年08月20日)
  9. 今から「iPhone Duo」を買うべきか? iPhone 18 Pro+iPad miniの2台持ちやGalaxy Z Fold8と比べて考えた (2026年11月12日)
  10. パナソニック コネクト、Core Ultra シリーズ3を搭載した堅牢10型Windowsタブレット (2026年11月13日)
最新トピックスPR

過去記事カレンダー