【社内勉強会】文字コード入門 理論編

最近社内で文字ものEPUBを扱う機会が増えてきたため、IVS/IVDやJIS X 0213の会話が飛び交うようになってきました。

そこで理解のベースアップとおさらいのために、今週の社内勉強会は「文字コード入門」を開催しました。

概要

用語と解説

  • 文字集合(Character Set)と文字エンコーディング(Character Encoding Scheme)、符号位置(Code Point)と実際のバイト列の違い
  • 色々な符号化文字集合と含まれる文字

クイズ

  • ブラウザアドレスバーのこの日本語、エンコーディングはどれ?
  • 7bit文字エンコーディングはどれ?
  • ASCII互換エンコーディングはどれ?
  • バイト列から文字長を求められるのはどれ?
  • UTF-8の最大バイト数は?
  • 実際に存在する標準規格はどれ?

まとめ

Webアプリを作る程度では、文字コード関連はよく分からず適当にやっても「なんとなく動く」ため、積極的に勉強するモチベーションが沸かない人もいるかも知れません。

しかし正しい理解をしておけば、

  • 変なバグやセキュリティホールを作ってしまうことが減る
  • 特定の環境のみ発生する文字化けに、慌てなくなる
  • 文字化けする人名漢字を、事前に把握・説明できる
  • フォント選びの効率が良くなる
  • 目grepに役立つ
  • バイト列を理解できて精神が健康になる

など、メリットが目白押しです。
また、ネイティブでごりごり書くときは、どのみちバイト列を意識せざるを得ませんね。

そのうちに、応用編/実践編や、フォントについての勉強会も開催したいと思います。

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

baba

ゆとりプログラマー。 高校時代から趣味でプログラミングを初め、そのままコードを書き続けて現在に至る。慶應義塾大学環境情報学部(SFC)卒業。BPS設立初期に在学中から参加している最古参メンバーの一人。得意分野はWeb全般、Ruby on Rails、Androidアプリケーションなど。最近はBlinkと格闘中。軽度の資格マニアで、情報処理技術者試験(高度10区分)などを保有。

babaの書いた記事

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ