Macテキストエディタの文字数カウント、文字数確認で迷わない!Macで生の文字数を数える

Macで生の文字数を数えるの確認工程を、白い原稿用紙と紫色の半透明装置で抽象的に示したアイキャッチ

締切条件が「空白と改行を含む生の文字数」なら、この標本で採用する数字は 1,080 です。「全角1・半角0.5、改行は数えない」という換算条件なら、同じ標本の比較値は 980.0 です。二つの数字が違うのは計算ミスではなく、答えている条件が違うためです。提出先の規則が不明なら、どちらかを推測で採用せず、1,080と980.0を別欄に残します。

標本は日本語900文字、ASCII 100文字、半角スペース60個、改行20個です。生カウントは保存前後とも1,080で、別名複製のSHA-256も一致しました。このStage 4結果は passed です。980.0は同じ内訳から求めたローカル計算で、Rune Studio画面の実測値ではありません。

1,080と980.0は別の締切条件への答え

生カウントでは、標本に含まれる各要素を1つずつ数えます。

要素 個数 生カウント
日本語文字 900 900
ASCII文字 100 100
半角スペース 60 60
改行 20 20
合計 1,080 1,080

一方、今回の換算条件は、日本語を1、ASCIIと半角スペースを0.5、改行を0として計算します。

要素 生カウント 換算カウント 差
日本語900文字 900 900 0
ASCII 100文字 100 50 -50
半角スペース60個 60 30 -30
改行20個 20 0 -20
合計 1,080 980.0 -100

100の差を内訳へ戻せるため、980.0を「1,080の誤表示」と判断する必要はありません。逆に、生文字数を求められているのに980.0を提出すると、ASCII、空白、改行へ別の重みを適用した数字を出すことになります。

締切に採用する数字を先に決める

採用判断は次の三つに分かれます。

  1. 提出条件が「すべての文字コードポイントを含む」「空白・改行を含む生文字数」なら、1,080を採用します。
  2. 提出条件が「全角1・半角0.5、改行除外」と明記されているなら、今回の式では980.0を採用します。
  3. 条件が「文字数」だけで、空白、改行、半角の扱いが不明なら、採用値を決めません。両方を記録して提出先へ確認します。

この判断で重要なのは、エディタの大きい数字または小さい数字を好みで選ばないことです。締切値は、画面表示の名称ではなく提出条件の式と結び付けます。

二つの数字を同じ版から作る手順

STUDIO-192が扱う一般的な生文字数の定義や既知標本の作り方を繰り返さず、この記事では二つの表示値を混ぜない記録へ絞ります。

  1. 締切に使う原稿版と対象範囲を一つに固定します。
  2. その版の生カウントを「生」欄へ記録します。今回の基準値は1,080です。
  3. 同じ版へ指定された重みを適用し、「換算」欄へ別に記録します。今回の比較値は980.0です。
  4. 差100を、ASCII -50、空白 -30、改行 -20へ分解します。
  5. 提出先の規則と一致する欄だけを締切値として採用し、もう一方は比較値と明記します。
  6. 規則を確定できなければ、どちらも合否判定へ使わず、原稿版と二つの値を保留します。

保存・再読込とSHA-256一致は、二つの計算に使った基準原稿が同じ内容であることを支える証拠です。保存後に1,080が維持されたことは確認済みですが、それだけで980.0がRune Studio画面に表示されたとは言えません。

Rune Studioの二つの表示を同じ意味にしない

現行Mac版Rune Studioの公開資料では、全角を1、半角を0.5として数える表示と、生の文字数表示を使い分けられます。これはStage 3の製品機能です。

この記事でStage 4として確認したのは、標本の生カウントが保存前後とも1,080で、SHA-256が一致したことです。980.0は日本語900、ASCII 100、空白60、改行20へ換算式を適用したローカル計算です。「Rune Studioで980.0と表示された」「二つの画面値を同時に実測した」とは扱いません。

製品の二つの表示は、どちらか一方が常に正しいという関係ではありません。生カウントは原稿の全要素を追う基準、全角・半角換算はその式を求める用途の候補です。最終的な採用値は外部の提出条件で決まります。

数字が合わないときは差の内訳へ戻る

別サービスの数字と合わない場合は、まず1,080と980.0のどちらと比較しているかを確認します。その後、対象範囲、空白、改行、半角の重みを一項目ずつ照合します。

今回の標本では差100の説明がつきます。説明できない差が残る場合は、結合文字、複数コードポイントの絵文字、除外された見出しや注記などを別項目として調べます。今回の標本には結合文字や複合絵文字を含めていないため、それらの数え方は未確認です。

外部サービスが1,080または980.0を返すことも確認していません。サービス側の表示が違うときは、Rune Studio側またはサービス側の故障と即断せず、同じ短い文字列と各規則を照合します。

STUDIO-192と役割を分ける

STUDIO-192は、生文字数の定義を決め、構成要素が既知の標本を作り、保存・再読込後にも同じ値を読む一般手順が中心です。

この記事の中心は、生カウントの作り方ではありません。同じ版から1,080と980.0が出たとき、差100を内訳へ戻し、締切条件に合う数字だけを採用する判断です。生文字数の基準作りはSTUDIO-192へ譲り、ここでは二つの数字を混ぜたまま締切判定へ進まないことを結論にします。

結論:生1,080か換算980.0かを条件で選ぶ

空白と改行を含む生文字数が締切条件なら1,080、全角1・半角0.5で改行を除外する条件なら980.0です。100の差はASCIIの重みで50、半角スペースの重みで30、改行除外で20に分解できます。条件が不明なら、どちらかを選ばず二つの欄を保留します。

今回passedなのは、生1,080が別名複製の再読込後も同値で、SHA-256も一致したことです。980.0はローカル換算であり、製品画面や外部サービスでの同一結果、結合文字・複合絵文字の扱いは未確認です。現行Mac版の文字数表示の範囲はRune Studioの商品ページで確認できます。