No.4ベストアンサー
- 回答日時:
>1バイトでもしくは、2バイトで何文字分の保存が可能ですか?2バイトで、日本語すべての文字の保存が可能ですか?
というご質問ですが,
1または0を並べたものをビット列といいます。
理論上は1バイトのビット列ですと2^8(2の8乗をこう表すことにします)=256通りの文字が表せます。
したがって,アルファベットの大小52文字は余裕で表せますね。
ただ,実際には256通りのビット列全てが文字に割り当てられるわけではありません。
「カーソルを次の行に送る」とか「ファイルの内容がここで終了する」だとか,いろいろな「業務用」の指示もビット列で表さないといけません。
このような「業務用」(人間のためではなくコンピュータが何か仕事をする都合上のこと,ぐらいに思ってください)に使われるビット列(に対応する命令)を「制御文字」といいます。
00000000から11111111までの256通り……のように2進数で書いていると分かりにくいでしょうから,10進数に翻訳しますと,0~255の256通りのうち,0~31までと127が制御文字に割り当てられています。
また32はスペース,128~160と255も制御文字に準じる場所,となっていますので,結局これらを除くと,実際に本物の文字に割り当てられるのは33~126までの94箇所と,161~254までの94箇所,あわせて188文字分となります。
どのビット列にどの文字を割り当てるか,という体系のことを「文字コード」といいます。
No.3の回答で「たとえば 00000001 なら A ということにする」というのは一つの文字コードです。
実際にパソコンで広く使われている文字コード体系では,01000001をA,01000010をB……というふうに決めています(アスキーコード)。大型計算機などではこれと違ったコードのものもあります。
また,128~160にも文字を割り当ててしまっていることもあります。
日本語は,使用する文字の種類が多いので,1バイトでは足りません。そこで2バイト使うことにしました。
たとえば,「亜」なら0011 0000 0010 0001(見やすいように4桁ごとに区切りました)のようになります。
2バイトですと,理論上は2^16=65536通りの文字が表せそうですが,実際にはいろいろな制約により,94×94=8836通りのビット列に対して文字が割り当てられています。
これに対して,これではせっかくの16ビットの空間がもったいない,フルに使おう,ということで一部を除いてめいっぱい文字を割り当てたのがユニコードと呼ばれる体系です。
この方式ですと,65536通りのビット組合せのうち,先頭の32通りは制御文字とし,残りを目一杯使いますので,最大で65520通りの文字が表せます。
>日本語すべての文字の保存が可能ですか?
これは大変回答が難しい質問です。なぜなら,「同じ文字とは何か」の定義がはっきりしない,というか人によって違うからです。
日本の文字コードを決めているJIS規格では,「包摂基準」というものを設け,たとえばしんにゅう(込とか進とかの部首)の点が一つの文字と二つの文字とは,文字コードとしては区別しない,としています。
活字で印刷する時は通常,いわゆる旧字体は点2つ,常用漢字体は点1つ,ですが,この区別はJISコードとしては行なわない,というわけです。
それで構わないという人はそれでいいでしょうが,それで困るという人にとっては「JISでは表せない文字がある」ということになります。
また,そういったレベルの話は別にしても,JIS規格には,あまり使われない文字は入っていませんので(日常生活にはほぼ十分ですが),「すべての文字」というわけにはいかないと思います。
なお,文字コードの話は,厳密に述べようと思うとかなり大変ですので,詳しい説明は専門書に譲ります。
フロッピーの記憶容量については既出の回答でおわかりと思います。
No.5
- 回答日時:
No.2のSpurです。
他の方へのお礼の中に追加質問がありましたので、分かり範囲でお答えします。
>半角カタカナは1byteなんですか?
1byteです。
つまり、横が8ドットで縦が16ドットまたは24ドットで表現されている文字が1bytesで、縦横ともの16ドットまたは24ドットで表現されている文字が2bytesコードを使っているわけです。
これでお分かりかと思いますが、横のドット数が8bitsなら1byte、16bitsなら2bytesコードということですね。
>ユニコードという体系は、現時点でかなり使われているものなのですか?
実際にはあまり使われていないようです。
しかし、漢字コード体系には色々な種類があり、統一性も無いのでUNIコードを使おうと宣伝された時代もあったのですが、あまり実用にはなっていないですね。
UNIコードでなければならないような致命的な不具合があるわけでもないというのも理由かな?
でも、工業界では結構使われています。
たくさんの文字が定義できますので、言い換えれば、1つの体系で、日本語・中国語・韓国語・ドイツ語など複数の特有の文字を表せます。
ですから、言語によってコードを切り換えなくても良いですから、「多国語対応」にするには便利です。
他の人に宛てた質問なのに、ご返事ありがとうございます。
いろいろと、なぞが解けてきました!!
また、いろいろ質問させていただくことが、あるかと思いますがよろしくお願いします。
No.3
- 回答日時:
ちょっと嘘入ってるかもしれませんが(何!)ご説明です。
8ビットというのは8桁の数字の列です。但しその中には0か1しか書けません。
00000000 ~ 11111111 までの組み合わせが表現できます。
この組み合わせは、2の8乗分の数を表現できます。(0か1かの2択の8桁分)
sesameさんの言われている256通りとはこのことです。
英語の文字は(記号とか含めても)そんなに種類が無いですよね。
256個で充分でしょう。
ということで、一文字ずつにひとつずつ数字を割り振っていきます。
たとえば 00000001 なら A ということにする みたいな感じでです。
(↑数字は大嘘です)
こんな感じで、半角英数文字は 1バイトで表現できます。
ところが、日本語になると、そうはいきません。
文字はいっぱい漢字もたくさん。256コでは日本語は表現しきれません。
というわけで、日本語は英数文字の倍のデータ量である 2バイト使うようにしました。
これなら 2の16乗 なので 65536 通り となり 何とかなりそうです。
(記憶違いでなければ 13 桁使って残りは使っていないという話を聞いたことがあるのですが…そうすると 2の13乗だから 8192 通り?…なんか違うかも。)
というわけで、日本語のような全角文字は2バイトで表現しました。
つまり、ひとつの文字にひとつの数字を割り振ってある と考えればよいのです。
多分日本語の文字といっても、使用頻度の低いものは収録されていないので、すべての文字を表示することは、出来ないのかもしれませんね。
上記のような表現方法の結果、全角は2バイト・半角は1バイト となっているようです。
ちなみに上の話は、メモ帳とかのソフトを使って純粋に文字だけ保存した場合のデータ量になります。
ワードなどのワープロソフトを使ってデータを作ると純粋な文字の情報以外にも、文字の表示位置や色の情報など、文字以外の情報をたくさん持ってしまうのでもっとデータは膨れ上がります。
ご回答ありがとうございます。
文字の表示位置や色の情報でも容量を使うんですね。そうですよね~。
ところで、半角カタカナは1byteなんですか?
すいません、コンピュータ用語に弱いもので・・。
No.2
- 回答日時:
「バイト」は「bite」ではなく、「byte」であることはNo.1のかたのご指摘通りです。
1byte=8bits(複数なので8bitではなく、8bitsです)
1bitは、「0」または「1」しか表現できないことはご存知ですね?
ですから、8bitsは256ということも良いですか?
日本語を表現しようとしたら、何種類になりますか?
英語ならば、アルファベット26種類で、大文字と小文字でも2倍の52種類です。
数字を10種類と記号を20種類加えても82種類です。
でも、日本語はひらがなだけでも56種類です。
カタカナも56種類あり、漢字になると万のオーダーです。
ですから、1byteでは日本語が表現できないですよね?
だから2bytes使うのです。
「保存」と言う表現はおかしいですね、「1byteまたは2bytesで何種類表現可能か?」ですね?
上記のように1byteは256種類で、2bytesはその二乗の65536種類の表現ができます。
2HDFDが1.44MBなのはIBM仕様です。
NEC方式では1.2MBです。
この1枚に何文字入るかというご質問ですか?
保存の仕方によって違うのじゃないでしょうか?
文字を何も書かなくてもファイル名を作るだけで1,000bytes必要です。
フォルダを作っても1,000bytes必要です。
また、バイナリー形式なのか、テキスト形式なのか、どんなフォーマットのファイルなのかによってもずいぶん違います。
FDに書き込まれるファイルはセクターという単位で書かれます。
セクターとセクターの間にはギャップがあります。
その分も減ってしまいます。
IBM形式の1.44MBならば、640のセクターがありますので、それだけでもずいぶん減っています。
従って、どんなファイル形式で、どんなファイル構成で格納するのかを定めないと格納できる文字数は計算できません。
それらを無視して、バイト数だけなら、No.1の方が言われる通りです。
「何文字入る」という概念を捨てた方が良いと思います。
ご回答ありがとうございます。
ファイル名を作るだけで1000bytes、フォルダを作るだけでも1000bytes必要なんですね。1.44MBの場合、640セクターあるんですか。知らないことをいろいろ聞けて、大変勉強になりました。
ありがとうございました。
No.1
- 回答日時:
まず重箱ですが、バイト=byteです、為念。
さて、文字情報を格納するのに必要なバイト数ですが、
ABC..., 123..., !"#... のような英数半角文字…1バイト
あいう..., アイウ..., 亜唖娃... のような日本語全角文字…2バイト
というのはご存じかと思います。
1バイトは16進2桁なので、16^2=256通りの組み合わせが表現できます。
2バイトならさらにその256倍で、65536通りですね。
ただし、これらの文字セットがすべて埋まっているわけではありません。
なお、2HDフロッピーの記憶容量である1.44MBですが、正確には1,457,664バイトになります。
これにプレーンテキストでフルに文字を書き込むと、単純計算で
1バイト…1,457,664文字分
2バイト…728,832文字分
になります。実際にはセクタギャップやFATに食われる分もありますから、もっと少なくなりますが。
ご回答ありがとうございました。
byteですよね~。すいません。
プレーンテキストで、フルに文字を書き込めれば、そのまんま保存可能であるということが、すごくわかりやすかったです。実際には、それ以外の処理をするのに、容量を使われるので、少なくなるんですよね。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 画像編集・動画編集・音楽編集 inkscapeで作成した図の保存の仕方とその保存したファイルの編集の仕方 1 2022/09/22 09:33
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- 日本語 中国語と日本語とでは、どちらが先に漢字を廃止するでしょうか? 2 2023/01/29 13:45
- C言語・C++・C# 【C言語】全角文字の配列を、全角のまま1文字ずつ出力する方法 4 2023/05/09 15:08
- その他(言語学・言語) ロシア語について質問です。至急です。 3 2022/03/23 11:07
- Excel(エクセル) ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存 2 2022/04/18 13:15
- フリーソフト 日本語の入力をすべて記録する 1 2022/07/07 12:52
- CAD・DTP 「機能ブロック図」の描画用フリーソフトを教えてください 1 2022/09/23 16:12
- 年末調整 アルバイトの年末調整等について 6 2022/10/15 17:34
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
このQ&Aを見た人はこんなQ&Aも見ています
-
とっておきの「夜食」教えて下さい
真夜中に小腹がすいたときにこっそり作るメニュー、こっそり家を抜け出して食べに行くお店… 人には言えない、けど自慢したい、そんなあなたの「とっておきの夜食」を教えて下さい。
-
秘密基地、どこに作った?
小さい頃、1度は誰もが作ったであろう秘密基地。 大人の今だからこそ言える、あなたの秘密基地の場所を教えてください!
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
お風呂の温度、何℃にしてますか?
みなさん、家のお風呂って何℃で入ってますか? ぬるめのお湯にゆったり…という方もいれば、熱いのが好き!という方もいるかと思います。 我が家は平均的(?)な42℃設定なのですが、みなさんのご家庭では何℃に設定していますか?
-
1文字って1バイトだったっけ?
その他(パソコン・スマホ・電化製品)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/2】 国民的アニメ『サザエさん』が打ち切りになった理由を教えてください
- ・ちょっと先の未来クイズ第5問
- ・【お題】ヒーローの謝罪会見
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1文字って1バイトだったっけ?
-
128ビットのパスワード
-
Msgboxで表示できる文字数の上...
-
どっちが正しいですか? チョン...
-
濁点(゙) 半濁点(゚)を一文字と数...
-
VBAのfor...next構文で i = A ...
-
パワーポイントで文字の上に線...
-
50KBは何文字に相当するのでし...
-
■Access エクスポート時に文字...
-
エクセルのIF文で「NOT=...
-
VLOOKUP関数で検索できません
-
タブと空白(スペース)の違いに...
-
PC98 の半角英数字の文字を Win...
-
Excelで入力禁止文字を設定したい
-
コンピューター名の文字数制限
-
pythonで1文字ごとに空白を入れ...
-
エクセルの文字制限からの文字...
-
ファイル名の文字数について
-
Chr(13)とChr(10)の違いは?
-
PS4コントローラーをPCでゲーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1文字って1バイトだったっけ?
-
エクセルのIF文で「NOT=...
-
パワーポイントで文字の上に線...
-
50KBは何文字に相当するのでし...
-
濁点(゙) 半濁点(゚)を一文字と数...
-
10分で500~600文字っ...
-
エクセルの文字制限からの文字...
-
どっちが正しいですか? チョン...
-
VBAのfor...next構文で i = A ...
-
128ビットのパスワード
-
.はファイル名に使うべきではな...
-
Accessで名前の間のスペースを...
-
コンピューター名の文字数制限
-
Msgboxで表示できる文字数の上...
-
Excelで入力禁止文字を設定したい
-
VLOOKUP関数で検索できません
-
PC98 の半角英数字の文字を Win...
-
Excelで入力文字の優先表示を行...
-
2バイトって何文字分ですか?
-
全角は日本独自のものか
おすすめ情報