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

このQ&Aのポイント
  • 掲示板を作る際には文章を書く必要があります。逆に、投稿する場合もあたりまえですが、文を書きます。
  • 先方、ここでは掲示板を作る元の会社(例えばteacupなど)から文字を書く上で○KB以内で、という指定が出てきます。
  • 調べたところによると、1KBは約1000Bなので、半角だと1000文字、全角だと500文字らしいですが、リンクをする場合、英字が登場しますので、これは半角と思いますので、1文字=1バイトかと思いますが。
回答を見る
  • ベストアンサー

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

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

  • yochn
  • お礼率98% (70/71)

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

1バイトは「半角」1文字を表す大きさです。 いわゆる、半角英数と、スペース等の一部記号、改行文字などの制御文字が該当します。 正確なものは以下を参考に http://ja.wikipedia.org/wiki/ASCII 「全角文字」の場合は、1文字は複数バイトになります。何バイトかは、文字コードによって違います Shift_JIS,EUC-JPの場合は2バイトです。 「helloおはようございます」は5文字x1バイト+9文字x2バイト=23バイトになります。 ISO-2022-JP(いわゆるJIS)の場合、1文字=2バイトに加えて、半角文字との境に3バイトずつ、切り替え制御文字列が入ります 「helloおはようございます」は 5文字x1バイト+漢字用切り替え3バイト+9文字x2バイト+英数切り替え3バイト=29バイトになります。 UTF-8では1文字=3バイトです。 「helloおはようございます」は5文字x1バイト+9文字x3バイト=32バイトになります。 スペースや英数字も、「全角」ならば上の「全角」に従い複数バイト文字になります。 「半角カタカナ」は扱いがややこしく、Shift_JISでは1バイトですが、EUC-JPでは2バイト、UTF-8では3バイトになります。 また、UTF-16では、「半角英数」でも2バイト使います。 調べ方ですが ・文字数を数えて、上の法則に従って手計算。改行文字のことも忘れずに。 ・文字数を数えて、全部全角だと考えて2倍(または3倍) ・Javascriptを使ってtextareaの文字数を数えて表示するスクリプトを作る。 例えば、教えて!gooでは、この回答を書いているときに、下に「あとXXX文字入力できます」と表示されています。 ・書いた内容をコピーして、メモ帳等のテキストエディタに貼り付けて保存して、そのファイルサイズを調べる。 等となります。 ただ、これが掲示板のバイト数とは一致しないケースもありえます。 (URLがあったら<A HREF=~>と変換した上で数えている、等)

yochn
質問者

お礼

早速のご回答をありがとうございました。 とても感謝しております。

yochn
質問者

補足

早速のご回答をありがとうございます。 深く突っ込んでのご回答は嬉しく思っております。 ん~、な~るほど・・ 調べ方の部分ですが、 文字数が少ない時には、手作業でも良いのでしょうが、 多くなってくると厳しいです。 そこで おっしゃるとおり、メモ帳で保存して試してみました。 あと、MS WORD でも試してみました。WORDもテキスト文書と思ったので・・。 メモ帳ではほぼ正確に出ました。 このメモ帳・・利用という方法で調べていきたいと現状思っております。 MS WORD ではダメなんですね。容量が大きくなって表示されていました。 先方の会社(teacup掲示板でもブログでも何でもよいのですが)の 「○○KB以内で」と指定があるとなると、この容量の把握で頭を悩ませていたもので、 ほっとするやら嬉しいやらで ありがとうございました。

その他の回答 (3)

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.4

一番簡単な方法として、 テキストファイルにして保存すれば容量が判ります。

yochn
質問者

お礼

早速のご回答をありがとうございました。 とても感謝しております。

yochn
質問者

補足

早速のご回答をありがとうございます。 テキストファイルにして保存で容量を調べる・・。 MS WORDはテキスト文書だと思って試してみましたが、 docxがタイトル文字の後に付き、ダメなんですね。容量表示が大きくなってしまった。 メモ帳だと、txtがタイトル文字の後に付き、うまく調べることができました。 結論ですね。 ありがとうございました。 嬉しいです。

  • bardfish
  • ベストアンサー率28% (5029/17765)
回答No.2

S-JISやANISなら半角文字は1バイト、全角文字は2バイト。スペースにも半角・全角があります。 UNICODEなら半角も全角も2バイトのはず。 それから1KBは1024Byteです(2の10乗バイト)。 「おはようございます」は全角9文字なので18バイト。 「お早う御座います」は全角8文字なので16バイト。 どちらも全角文字ですからね。 高機能テキストエディタには文字数をカウントできるモノがあります。 秀丸とかサクラエディタとか。

yochn
質問者

お礼

早速のご回答をありがとうございました。 とても感謝しております。

yochn
質問者

補足

早速のご回答をありがとうございます。 基本的部分から、さらに突っ込んでのご回答は 嬉しく思っています。 高機能テキストエディタ・秀丸(名前程度は聞いたことがありましたが)とか サクラエディタも新しく知りました。 感謝致します。

  • tencyuu_te
  • ベストアンサー率25% (342/1340)
回答No.1

単に文字のバイトだけであれば 大文字小文字もありますが 日本語はほとんど全角表示で2バイトです ひらがなも2バイトです 1バイトは8ビットで表す 2バイトは16ビットで表します 表示させる時は8ドット*8ドットが半角文字に相当します 16ドット*16ドットが全角文字に相当します

yochn
質問者

お礼

早速のご回答をありがとうございました。 とても感謝しております。

yochn
質問者

補足

早速のご回答をありがとうございます。 ひらがなも2バイトとは知らなかったです。 漢字は2バイトは知っていましたが・・。 ありがとうございました。 助かりました。

関連するQ&A

  • 全角文字を文字化けしないで切るには?

    今、掲示板を作っています。 題名だけをツリー状に表示しようと思っていて、 長すぎる題名を30バイトでくぎろうと思っているのですが、 文字に半角などが混じっていて、30バイト目と31バイト目に全角が入ってしまうと、文字化けをしてしまいます。 どのようなプログラムにすれば文字化けをふせげるのでしょうか?

  • 文字の変換について

    こんばんは。 以前までシフトキーを押しながら文字を入力すると半角英字で入力できたのですが、現在全角英字での入力になっています。 どうすれば半角英字にすることができますでしょうか? IME2002です。

  • シフトキーなしで大文字の半角英字を打つ方法

    キーボードのシフトキーが壊れてしまい、大文字の半角英字が打てなくて困ってます。メールのパスワードに大文字の半角英字があるんです。全角の場合はコード表があるので大丈夫なんですが・・・。 本当ならキーボードを買い替えるのが一番なんでしょうけど、高いので迷ってます。 シフトキーなしで大文字の半角英字を打つ方法はないでしょうか? よろしくお願いします。

    • ベストアンサー
    • Mac
  • 文字の幅

    お世話になります。 ワープロで文章を作成する場合、当然文字の種類によりその幅が異なります。同じ全角文字でも、漢字・仮名・英数字・記号・空白等で異なる様な気がします。 フォントのサイズによっては、次の条件を満たす事は可能でしょうか?可能であれば、そのサイズを教えて下さい。   (1)全角または半角であれば、文字幅は種類に    関係なく同じ。   (2)全角文字の幅=半角文字の幅×2 ご存知の方、宜しくお願いします。

  • パソコンの変換覚えと英語入力について(文字入力で)

    パソコンの変換覚えと英語入力について(文字入力で) 例えば「あう」を変換した時にその前に使ったやつが「会う」だと 次も「会う」が一番に来たりしますよね? で、英語入力でもそうなのですが 英語のみの文章だったら「半角/全角」キーで 半角でやりますが 英語交じりの日本語の文章だと 全角で打つ事も私は多いのですが その際最初が大文字であれば全角で打ってもなんら変わりません。 (小文字から始まると普通に日本語になってしまいますが) ですが、その際最初の頭文字をShiftと同時におして 英語を押し始めると その際の英字の大きさが半角の場合は良いのですが 全角になってる時があります。 そういう場合Word上では半角に変えられないので 私は一度インターネットの検索ボックスの中に 全角で最初大文字で英語を打って Shiftとスペースを同時に押して変換をし、半角にし 再度Wordで打ちます(そうするとそれを覚えてて半角になります) なのですが、最近全角状態で 英語を打って頭文字大文字にして半角で英文が表示される時に 急にもう1回英文を打とうとして Shiftキーと頭文字のキーを同時に押したら全角に戻っていました。 なぜでしょう? これまでも1回覚えさせたら勝手に戻る事はありませんでした。 まぁ時々強制終了した時は戻ったりもしましたが そういう場合は漢字の変換の覚えも全て戻りましたが 英字の全角状態での半角or全角だけが元に戻ってしまいました。 なぜでしょうか?? 分かる方、教えてください。

  • iPhone4で(株)とか(有)などの文字

    iPhone4で(株)とか(有)など特殊文字の入力方法が分かりません。 半角英字"(",全角漢字"株",半角英字")",とするしかないのでしょうか?。 知っている方教えて下さい。

  • 文字数について

    1.教えてgoo!で質問を投稿する場合、800字までですが、 書いた文章が何文字か調べたいんですが、 どうやって調べたらいいのですか? 全角は2バイト、半角が1バイトらしいですが。 2.漢字の場合は何文字になるんですか? 変換前の文字数ですか? 例えば、漢字なら3文字、6バイトですか それとも4バイトですか? 3.話は変わりますが、 質問内容が800字って足りないことないですか?

  • エクセル:文字列のバイト数が欲しい

    セルB1に、  半角スペース、全角2文字、半角スペース、 と入力しました。 このシートの別のセルに、 =Len(B1)と入力すると4と表示され、 =LenB(B1)と入力すると6と表示されますので、 間違いなく「半角スペース・全角2文字・半角スペース」がB1に入っているはずです。 このシートのコードに、 Private Sub Worksheet_Change(ByVal Target As Range)   If Target.Address = "$L$1" Then     MsgBox LenB(Cells(1, 2).Value)   End If End Sub と打ちました。 ここでシート上のセルL1に何か入力するとメッセージボックスが出るのですが、 メッセージボックスに出る値は8です。 何が原因でしょうか。 6が表示されて欲しいのですが(文字列のバイト数が欲しい)、 どのようにコードを書けばよいでしょうか。 実際にB1に入れていた文字は、 1B です。 (半角スペース・全角数字1・全角英字B・半角スペース)

  • CString型 全角半角を意識せずに「1文字」ずつ取り出す

    CString型の文字列に格納されている文字を1文字ずつ取り出したいです。 ただし半角なら1バイト単位で、全角なら2バイト単位で、という風に分離したいです。 半角だけなら、str[0] str[1]...という風に取り出せますが、 全角が混じっていると、1バイト目、2バイト目と分離されてしまいます。 その文字が半角か全角かを判断して、半角なら1バイト、全角なら2バイト同時に取り出すロジックを、下記のような感じの関数として作りたいです。 CString ripString(CString str,int index){ //ソースとなる文字列、n文字目 /*~処理~*/ return 文字列; } たとえば"あaいbうcえdおe"という文字列を入れると、 CString str="あaいbうcえdおe"; ripString(str,0) →結果 "あ" ripString(str,1) →結果 "a" ripString(str,2) →結果 "い" ripString(str,3) →結果 "b"  ・  ・  ・   こういうことをするのに良い方法はありますか? 1バイトごとのそれぞれの文字自身が、 ・半角文字なのか ・全角文字の前1バイトなのか ・全角文字の後1バイトなのか これをプログラム的に判別する方法があればいいのですが・・・悩んでいます。

  • 文章の半角、全角の選択について

    ワード、E-mailなどで文章を作成するときに、カタカナ、英字、数字などが当然でてきますよね。 漢字、ひらがなは当然、全角文字になるのですが、カタカナや英字、数字などは皆さん半角にしていますか?それとも全角にしていますか? 私は基本的にカタカナは全角(何かの本でカタカナは全角が基本うんぬん書いてあったかすかな記憶による)、英字、数字は半角にしています。 文字表記の半角、全角の選択の何か明確な選択理由はあるのですか? 皆さんはどういう理由で全角、半角を使い分けていますか?

専門家に質問してみよう