はじめに
はじめにHTMLを学習する際に、headのmetaタグにcharset="utf-8"なんて書いてあるのを見ると思います。最初は「なんだこれ?」と思いながらも、定型文的にとりあえず書いとく、という方も多いのではないでしょうか。
今回は文字コードについて何も知らない方、なんとなくしか分からない方向け(+自分の備忘録)に文字コードとは何かについてざっくりとまとめていきたいと思います。
文字コードとは
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
VSコードで!と打つとこんなものが出てきます。HTMLを書き始める際にまず最初に書く部分になります。今回はこの中の<meta charset="UTF-8">というものに注目していきます。これは文字コードを指定しています。
それでは、文字コードとは一体何なのでしょうか。
文字コード(もじコード)は、コンピュータ上で文字(キャラクタ)を利用する目的で各文字に割り当てられるバイト表現。もしくは、バイト表現と文字の対応関係(文字コード体系)のことを指して「文字コード」と呼ぶことも多い。
↑(Wikipediaより引用)
ご存知の通りコンピュータは0か1しか認識できないため、「あいうえお」と入力してもコンピュータには理解出来ません。そこで、「あいうえお」という文字を番号に変換し、さらにコンピュータが認識できる0と1(2進数)で表現ができるように作られた対応表があります。それが文字コードと呼ばれているものです。上記のように文字コードを指定していないと、番号との対応がズレて文字化けしてしまいます。
文字コードの種類
文字コードにはいくつか種類がありますので代表的なものをご紹介していきます。
ASCII
最も標準的な文字コードです。数字やアルファベットなどが1バイトで表現されます。1963年にアメリカで作られました。
Shift-JIS
ASCIIコードの文字に日本語を追加した文字コードです。半角カタカナは1バイト、それ以外の全角文字は2バイトで表されます。
UTF-8
現在最も多く使われているのがUTF-8です。日本語は3バイトで表されます。
まとめ
非常にざっくりとですが、文字コードとは何かについて書いてきました。文字コードは文字と番号の対応表でコンピュータに我々が使う文字を認識させるために作られたルールのことです。それには色々種類があり、中でも最も多く使われているのがUTF-8になります。