No.6ベストアンサー
- 回答日時:
★文字コードについて
>文字って数字で表現できるのでしょうか?
↑
この表現は
『文字列って数値でも表現できるのでしょうか?』
という事ですよね。多分。
・そうなるとコンピュータで『文字』を表現するにはどうなのか?
という事にも繋がりますね。
コンピュータでは『数値』を扱うようになっているのためそのままでは
文字を扱えません。そこで『文字』に番号を振ってその番号で処理する
ような仕組みになります。このときの番号を『文字コード』と言います。
・『文字コード』にはたくさんの種類があります。
代表的なものとして
ASCIIコード
JISコード
シフトJISコード
EUC-JPコード
Unicodeコード
EBDICコード
などがあります。詳しくはネット検索して下さい。または次のリンクをどうぞ。
http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97% …
・今回は ASCII コードを代表して説明します。
ASCII コードは半角文字のことで数字(0-9)、英大文字(A-Z)、英小文字(a-z)や
記号などがあります。あと日本では半角カタカナも含まれます。→ANK コード
このコード体系では
'0'という文字は 0x30(48) という数値
'A'という文字は 0x41(65) という数値
'a'という文字は 0x61(97) という数値
'!'という文字は 0x21(33) という数値
と決められています。
※()内は10進数での数値を表す。
・上記のことを踏まえると
char name[] = "NaNaNa_sun";
という文字列は char 型の配列で次のようになります。
name[0] = 'N';
name[1] = 'a';
name[2] = 'N';
name[3] = 'a';
name[4] = 'N';
name[5] = 'a';
name[6] = '_';
name[7] = 's';
name[8] = 'u';
name[9] = 'n';
name[10] = '\0';
※'N'というのは文字定数(リテラル)の表現です。
↓
上記の文字列を文字定数ではなく数値(16進数)で表現すると
name[0] = 0x4E;
name[1] = 0x61;
name[2] = 0x4E;
name[3] = 0x61;
name[4] = 0x4E;
name[5] = 0x61;
name[6] = 0x5F;
name[7] = 0x73;
name[8] = 0x75;
name[9] = 0x6E;
name[10] = 0x00;
とすることができます。ちょっと文字列のイメージができませんね。
そこで普段は文字コード'N'や'a'で表現するのが一般です。
・C 言語では文字列をダブルクォーテーション文字で囲んで "NaNaNa_sun" と
表現する決まりになります。1文字だけなら char moji = 'A'; ともします。
・以上。簡単ですが文字列と文字コードでした。
参考URL:http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97% …
かなり丁寧に書いてくれましたね。ひそかに(かはわからないけど)私の名前で作ってくれて。
とってもわかりやすかったです。
これで、また一歩プログラマーへの道が開けた(とっても小さいけどね)
回答ありがとうございました。
No.4
- 回答日時:
あれ?
私の問題から生じた疑問ですかね?
char型は、数値変数で1バイトの符号付き数値を扱えます。値は-128~127です。これはOKですか?
しかしながら、文字を代入することができます。
char a;
a='B';
ですね。
これは、コンピュータ内部で文字を数値コードで扱っているからです。
これが文字コード(文字の数値コード)表です。
http://e-words.jp/p/r-ascii.html
ですから、こんなこともできます。
char a,b;
a='B';
b=66;
printf("a=%c b=%c\n",a,b);
printf("a=%d b=%d\n",a,b);
を実行すると
a=B b=B
a=66 b=66
と表示されます。
最後に「文字の扱い方」を参考にしてください。
http://homepage3.nifty.com/mmgames/c_guide/14-01 …
そうですけど・・・これは使わないのかな?
けど、こういう感じじゃないととけないような・・・というかどう考えても僕じゃ無理だったんです。
使い方まで教えてくれて感謝です。感激です。雨あられです。
これで挑戦してみます。
では、また問題を出題している方に何か書き込むかもしれないので、そのときはよろしくお願いします。
回答ありがとうございました。
No.3
- 回答日時:
> 文字って数字で表現できるのでしょうか?
微妙な表現ですね。まずは質問の意味から考えてみましょう。
「文字」というのは、#2の回答にもあるように図形のことですね。「数字」というのは「数」を表す「文字」のことです。
ということは、
0
0 0
00000
0 0
「A」を「0」を使って上のように表現できるか? という意味になります。上で出来ているように、結論をいえば出来ますが、質問の意味は本当にこういうことなのでしょうか?
いいえ違います・・・僕の書き方が悪かったようです。
そういう解釈の仕方もあるということに気づかなかった。これはこれで勉強になりました。
回答ありがとうございました。
No.2
- 回答日時:
>文字って数字で表現できるのでしょうか?
数字で表現しています。
私の知る限り、コンピュータは文字を直接扱えません、数字に直して(キーボードコントローラなどで変換)入力し、内部では数字で扱い、活字式タイプライターなどに出力する時に数字を文字に変換します、ディスプレー、またはレーザプリンタ、インクジェットプリンタに出力の時は数字を文字の形の図形に変換し(図形も数字です)図形を表示しています。
これも別の分野で勉強になります。
図形も数字ですか・・・パソコンって計算機って意味というのは、まんざらではないですね。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ 複数のパソコンが自宅にあり、互いの固有のHD、光学ドライブを相互にアクセスする方法。その2 3 2022/12/16 09:54
- その他(データベース) 4進数風なバーコードは何ですか? 2 2022/11/28 23:33
- 楽器・演奏 ★こちらの公開掲示板では他の回答者の批判や誹謗中傷はあまりありませんか? 3 2022/05/04 11:07
- 心理学 ★こちらの公開掲示板では他の回答者の批判や誹謗中傷はあまりありませんか? 3 2022/05/04 10:37
- その他(病気・怪我・症状) ピンポイントの「物忘れ」「言い間違え」について 2 2022/05/17 09:24
- 教えて!goo 幾つかの回答が表示されてないのですが 今現在でのgooでの回答は、 全角文字(含む英数字)で 何文字 1 2022/08/20 06:22
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 16:55
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlで書いたcgiでsqliteの使い...
-
wordの数式について 定積分を書...
-
python subprocessに関する質問
-
cgiからsendmailを送信で文字化け
-
心理テストページをCGIで作りた...
-
hiddenで送ったデータの取り出し方
-
FORMのselectの選択肢を最初か...
-
Mechanizeにおけるボタンクリッ...
-
何故横ナビ主流?
-
perl/cgi リダイレクトができない
-
テキストBOXの縦幅を変えたい
-
CGI管理ページなどより背景画像...
-
横スクロールを縦スクロールに...
-
VBで表示したホームページの...
-
プルダウン&キーワードで
-
大和ネクスト銀行の銀行コード
-
select値をhiddenのvalueに渡し...
-
UTF-8で文字化けしないようにす...
-
htmlからパラメータで、cgiに渡...
-
ラジオボタンが両方とも選択で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUN BBSの改造方法
-
CGIメールフォームの件名について
-
perlで書いたcgiでsqliteの使い...
-
CGI(Perl)内での必須項目チェ...
-
チェックボックスでのor検索
-
入力フォームに全角・半角スペ...
-
Windows7でVBScriptによるネッ...
-
tracert ができない原因
-
配列をグループ化して出力したい。
-
電話番号を読み込むプログラム...
-
JNAVIから提供されたメー...
-
日本語文字化け(GETメソッド?)
-
文字って数字で表現・・・
-
sendmail -fオプションの指定は...
-
【ASP.NET MVC】フォームヘルパ...
-
sendmailのメール送信ができま...
-
【CGI】画像の表示の仕方【Mini...
-
添付つきメールフォーム:「an ...
-
同じname属性の結果を1行にまと...
-
太郎を太と郎に分ける方法。
おすすめ情報