留年戦記

留年と工学と人間関係と毎日戦っている人のブログです. 今年は留年回避済み.プロマネのお勉強中.留学試みたりTOEICの得点向上を試みたり.普通に学校の勉強を頑張ったり工学(プログラミングも回路も)について学んでみたり.時々レーザーカッターのパラメータを記事にしてます.

文字コードと文字化けのお話.

今日も一日頑張ったあこさんです.

これからアルバイトなので今からも頑張りますぜっ!

 

というわけで今回は文字コードのお話です.

 

1,文字コードって?

文字コードときいてピンと来ますか?

まぁ,おおよそプログラムを書いたことのある9割の方は「そんなの当然」と<(`^´)>としてそうですね(笑)

コンピュータ上で,文字は文字として認識されません.

どうやって認識されているかというと,二進数のバイト表現というものです.

バイト=byteの方ですよ!アルバイトじゃないよっ!(笑))

要は,数字として認識されているのです.

で,その数字と文字の対応っていくつか種類があってそれらを相称して「文字コード」と呼んでいます.

 

2,種類

ASCIIコード(あすきーこーど)

一番良くつかわれる文字コードです.

(というかもともとこの文字コードしかなかったはず)

ASCIIコードと検索をすればすぐ出てきますが8bitで表現されています.

C言語で使われる文字コードですね.

(ほかの言語だと文字コード変えれたりする.Cは…できなかったはず…?誰か教えて♡)

文字コードの中には「DEL」や「ESC」,「受信失敗」や「警告」など文字とはちょっと異なるものが含まれています.

この文字コードは英語のみの表記になります.

日本語表記は出来ません.

 

Shift-JIS(しふと じす)

日本でよく使われる文字コードです.

これは日本語に対応しています.

1byteコードと2byteコードとあり,1byteはASCIIコードと同じ原理です.

2byteの方にはひらがなカタカナ,そして感じなどが含まれております.

「㍉」とか「㌫」とかも含まれているんですよ.

 

3,文字化けのお話

「今日も元気いっぱい,私は学校ではしゃぎました!」

と送ったはずが相手に

「莉頑律繧ょ?豌励>縺」縺ア縺?シ檎ァ√?蟄ヲ譬。縺ァ縺ッ縺励c縺弱∪縺励◆?」

だったり

「?�???�???????�??????�??�????�??�???�?��??�??�??�???????????�???????�?」

となった経験ありませんか?

 

 

こんなかんじに.

f:id:aconote:20161122184036p:plain

↓↓↓これがこうなる.

f:id:aconote:20161122184052p:plain

 

これが文字化けです.

この時,パソコンの中ではどんなことが起きているのかと言うと,数値で入ってきた文字情報に対し,変換する文字コードが異なってしまっているのです.

つまり,文字と数字の組み合わせが正しくないものに充てられてしまっているため,変な文字が現れるのです.

 

4,読みたい場合は

どうしても読みたいっ!

読めないと困るっ!

という方.安心してください.読めますよ(古い)

ネットで「文字コード 変換」と検索して「もじばけらった」みたいなサイトにポイーとしてもいいですし,Atomsublimeサクラエディタなどテキストエディタがある場合はそこにコピー&ペーストをして「文字コード変更」をして下さい.

正しい文字コードに変更されれば読むことができます.

(エディタだとどのコードにすればいいか分からない時があるので,割とネットにポイーをお勧めしてます.ただ,エディタの場合一度保存したものを開くとなったときに自動で文字コードを読み込んでくれる場合があるのでその時々ですね…)

 

というわけで文字コードのお話でした.

ちょっと最近重めな話が多かった気がするので軽ーい話でもと.

楽しんでいただければ…!