文字数とバイト数の違いとNCデータのサイズの変化について

このQ&Aのポイント
  • 体験版の送信ソフトで送れるプログラムは1KBまでという制限があります。NCデータの文字数が184文字なのに、サイズが270バイトとなっている理由は、スペースも一文字としてカウントされるためです。ディスク上のサイズが32768バイト(32KB)となっている理由とは何でしょうか?また、ソフトの制限の1KBまでというのは、サイズで見るのかディスク上のサイズで見るのか教えてください。
  • 体験版の送信ソフトはプログラムのサイズに制限があり、1KBまでしか送れません。しかし、NCデータの文字数が184文字なのに対して、サイズが270バイトとなっています。この違いは、スペースも文字としてカウントされるためです。また、ディスク上のサイズが32768バイト(32KB)となる理由も説明してください。
  • 体験版の送信ソフトではプログラムのサイズが1KBまでと制限されています。NCデータの文字数が184文字であるにもかかわらず、サイズが270バイトとなっているのは、スペースも文字としてカウントされるためです。ディスク上のサイズが32768バイト(32KB)となっている理由も教えてください。また、ソフトの制限の1KBまでというのは、サイズで見るのかディスク上のサイズで見るのかも教えてください。
回答を見る
  • 締切済み

文字数とバイト数が違うのは

体験版の送信ソフトで送れるプログラムは1KBまでという制限があります。 送ろうと思っているNCデータのサイズをプロパティで確認してみると  NCデータの文字数は184なのに サイズが270バイトとなっています。 これはスペースも一文字としてカウントされるからなのでしょうか? またディスク上のサイズでは32768バイト(32KB)となっています。 ディスク上のサイズとは何で またなぜ大きくなるのか教えて頂けませんか? またこの場合ソフトの制限の1KBまでというのは サイズでみるのかディスク上のサイズで見るのかを 教えて頂けませんか? お願いします。

noname#230358
noname#230358

みんなの回答

noname#230359
noname#230359
回答No.2

“ソフトの制限の1KB”というのは、 おそらくはソフトから送出されるバイト数ですね. “ディスク上のサイズ”というのは、 ファイルシステムが管理できる最小単位に 切り上げられた数値です. 例えば、3.5インチ2HDフロッピーディスクのFATだと、 1バイトのファイルでもディスク上の1024バイトを占有します. これはFATというファイルシステムが クラスタ単位でしかファイルをディスクに書き込めず、 3.5インチ2HDでは1つのクラスタが 512バイトで構成されるセクタを2つ使うからです. ハードディスクではクラスタのサイズはより大きくなります. 1KB程度のファイルでディスク上のサイズが32KBというのは、 この1クラスタが32768バイトに設定されているという事です. CP/Mの様な化石的に古いOSならともかく、現在のファイルシステムは、 ファイルがディスク上の何バイトを占有していようと、 バイト単位でアクセスが可能です. 仮にファイルがディスク上の32KBを占有しても、 実際のファイルサイズが1バイトであれば 1バイトのファイルとして読み出される訳です. なお、“NCデータの文字数”に関しては、 これを何でカウントしたか判りませんが、 改行コードの扱いの違いなどでファイルサイズとの間に差が出ます. 例えば、ウィンドウズのメモ帳などで作成したテキストファイルの場合、 改行には2バイト使われます. 改行はNCではEOB(エンドオブブロック)になりますが、 NC内では一般にEOBは1文字として扱われます. (このEOBはパンチされる際には最大で3文字になります.) 逆にスペースは、例えばファナックの場合には、 コメント内では1文字になりますが、それ以外では 何文字あろうとNCに送り込まれる際に無視されるため0文字です. (ただファナックではプログラムをパンチする際に時折行末に意味も無くスペースが添加されます.) では、実際に転送ソフトが送出するバイト数が 幾つになるか、という事ですが、 これははっきり言ってソフトの仕様によります. NCが無視する文字を転送ソフトが確実に削除して送出するなら、 送出バイト数はNC上の文字数とほぼ同じになります. ファイルをありのままに送り出すのであれば、 この送出バイト数はほぼパソコン上の実ファイルサイズになります. EOBをLF+CR+CRに変換して送出する事になれば、 送出バイト数は実ファイルサイズ以上にもなります. 最初と最後に“%”の無いファイルに “%”を付加して送り出してもやはり 送出されるバイト数は実ファイルサイズから大きくなります. ただ、“ディスク上のサイズ”に相当するバイト数が まるまる転送ソフトから送出されるという事は決してありません. この数値はあくまでファイルの管理面で重要になるだけであり、 ファイルへのアクセス面では全く関係の無いものです.

noname#230359
noname#230359
回答No.1

ディスク上のサイズは、私も以前、気になって調べた記憶があります 文字数とバイトは違うもの。半角1byte(8bit),全角・漢字は2byteが必要です ソフトにもよると思うが、スペースも実際はカウントされるように思う 1KB→1000byte→半角文字で1000文字となる筈ですが。。。 NCdataもtext方式だろうから実際はメールで自由に送受信が可能な筈ですが、 そこは体験版だから制限を設けてNCマシン側から直に送付出来ないのかな。。 出来ればお金は使いたくないね。小分けにして送信なーんて出来ないだろうな

参考URL:
http://www1.ttcn.ne.jp/~lionsclub/pdf/howto35.pdf

関連するQ&A

  • 文字の容量(サイズ)についての質問です。

    文字の容量(サイズ)についての質問です。 掲示板を作る際には文章を書く必要があります。 逆に、投稿する場合もあたりまえですが、文を書きます。 何も掲示板に限ったことではないのですが・・。 先方、ここでは掲示板を作る元の会社(例えばteacupなど)から 文字を書く上で○KB以内で、という指定が出てきます。 この今書いている文章が何キロバイトかどうかを はかる手段を教えていただきたいのです。 全体としてのサイズはプロパティでわかります。 文章からみたサイズを調べたいのです。 例えば、「おはようございます」は何キロバイトなのか?なのです。 1KB=1000B。1文字は1バイト。「おはようございます」は9バイト。 「お早う御座います」だとしたら、11バイトかな? ここでの質問として、写真などの画像は除いていただいてけっこうです。 調べたところによると、一般的には、 1KBは約1000Bなので、半角だと1000文字、全角だと500文字らしいですが・・。 リンクをする場合、英字が登場しますので、 これは半角と思いますので、1文字=1バイトかと思いますが・・。 スペースは? 書いた文字について、容量を調べる方法を ご教授の程、よろしくお願い致します。

  • 文字型データのバイト数をカウントするには

    Java Scriptで文字型データのバイト数をカウントする関数は何でしょうか? PHPでいうmb_strlen()のようなものです。 どうぞよろしくお願いいたします。

  • 送信時の「文字数チェック」では、どういう数え方なんでしょうか?

     #「教えて!goo」からのユーザーですが、  #『 教えて!goo トップ>OKWeb 』のジャンルで質問させていただいております。 ---- 「質問」、「お礼」などで割合長い文章になりそうな時は、Word で文字数チェックしながらやっているんですが、 そこでの「文字数(スペースを含める)」が制限内に収まっていても、 実際に「送信」とした時に、字数オーバーではねられてしまうことがあります。 その場合、「○○字分オーバーしています。」というような親切な表示まではさすがにされないので、 少しずつ文章カットしながらトライするうち、何回もそれを繰り返すことになってうんざり、 ということもありがちです。 ---- 1.一般に、ウェブ送信の場合の文字数の数え方は、 Word での数え方(スペースを含める)なんかとは違うんでしょうか? 2.どうせ扱うのはテキストだけですから、わざわざ Word を使わなくても、 もっと軽いフリーソフトで文字数カウント機能を持ったものでもあれば、 とも思っているんですが、何かご存知ありませんでしょうか? --

  • 入力文字のバイト数

    いつも参考にしております。 入力文字のバイト数のカウントについて質問をさせていただきます。 入力フォームなどで、入力文字数の制限をしたいと考えております。 文字を入力するたびに、バイト数がテキストボックスに常に 表示されるようにしたいと考えております。 以下を参考にできるのではないとか思っておりますが。 <script language="javascript"> <!-- function check() {  txt = document.myFORM.myTEXT.value;  n = txt.length;  if (n > 10) alert("10文字以内にしてください"); } --> </script> <form name="myFORM"> <textarea rows="3" name="myTEXT" onChange="check()"></textarea> </form> ご教授お願いいたします。

  • 文字化け?破損?

    Word2000を使ってます。 論文をHDに保存しようとしたところ、 「ディスクがいっぱいで保存できません」と表示され、文章が文字化けしてしまいました。 文字化けはWord2000をWord95で開いたときみたいに□(四角)がたくさん表示されてしまうやつです。 スキャンディスクをかけてもエラーはありません。 リッチテキストに変換してみたりといろいろやってみたんですが、お手上げ状態です。プロパティをみるとファイルサイズは50KBあり、データは生きてるように見えるんですけど、何かよい対処法はないでしょうか? どなたかお願いします。

  • 文字数を自動で数えるソフト

    文字数を自動で数えるソフトを探しています。字数制限がある際に使いたいと思います。書き込んだ文章をドラグで選択すると字数がわかるソフトは見つけたのですが、できれば文字を打ち込んでいると字数が勝手にカウントされて、文章を作っている最中でも文字数がわかるようにしたいのです。そんなソフトをご存知の方。教えてください

  • EXCEL: 文字数制限

    すみません、どなたか教えてください。 セルC1に対して、文字数制限(50文字まで)をかけたいのです。メッセージboxを表示して。 C1には関数で「=A1&" "&B1」となっています。 A1とB1には文字列が入力されています。 この2つの文字列を組み合わせた文字列がC1にきます。 C1に対して、メニューバーの「データ」/「入力規則」で設定はしているのですが、関数で値を求めているせいか、メッセージboxが表示されません。セルC1に直接入力するとメッセージは表示されるのですが…。ちなみに、文字列にあるスペースもカウントしたいです。 よろしくお願いします。

  • 条件付きで、文字数をカウント

    Office365使用 A1に[大・中・小]と文字が入っていて プルダウンリストでサイズを選べるようにしています A2には「やまだ はなこ」と文言が入っています A3に、A1で「大」を選んだ場合の文字数をカウント、表示させ A4にはA1で「中」を選んだ場合の文字数をカウント、表示させたいです。 いずれも、全角のみで、スペースはカウントしません 「やまだ はなこ」「大」とした場合は、A3に“6”と表示 A4には何も表示されない というような答えが出る数式を、どなたかお教えください。 宜しくお願い致します!!!

  • 文字数を正しくカウントし、長さを整える

    現在phpでアプリを作成しているのですが、入力の際に文字数を制限したいと思っています。たとえば200文字までの入力に対し213文字入力されたとします。その場合ははじめの1文字目から200文字目を残し、のこりを破棄したいと考えています。 また、1文字のカウントの際、普通に行うと半角英数字の1文字の入力と日本語の1文字の入力では日本語が2バイトになってしまいます。そうではなくて言語に関係なく1文字として認識するようさせるにはどうしたらいいのでしょうか?宜しくお願いします。

    • ベストアンサー
    • PHP
  • セルの文字数を合わせること出来ますか?

    違うソフトにエクセルのデータを移すためにセルの文字数を合わせないといけないのです。 例えば、全角で15文字半角で30文字になるようにしなければいけないので8桁の数字コードを打ったあと22回スペースを入れてます。とても効率悪く困ってるのですが何かいい方法はありますか?勝手にスペースが入るようにならないでしょうか??よろしくお願いします m(_._)m