文字コードについて


はじめに

文字コードには,2つのプロトコルが存在する.
1) 文字集合: 表示される文字のfigureの集合.
2) 符号化方式: 文字集合の文字と数値表現のひも付け辞書

Unicode

(1)文字集合の一つである.
しかし,符号化方式とは別に,それぞれの文字が位置情報(コードポイント)を持っており,これをUnicodeスカラ値と呼ぶ.u+16進数.

utf-8

(2)符号化方式の一つ.

Pythonでの取り扱い

Pythonで文字列を扱う場合は,2つの種類がある.

str='あいう'
unicode=u'あいう'

上の場合は,指定している文字コードに対応して,数値が保存される.
文字コードの指定は,以下のように行う.
(# -- coding: utf-8 --)
(# -- coding: Shift_JIS --)
(# -- coding: EUC-JP --)
下の場合は,unicode文字列として認識され,unicodeスカラ値が代入される.

example1: htmlパース

requests等でhtmlから取ってきた後,encoding形式を対称のhtmlの符号化方式に合わせることで,表示される.

import requests
res=request.get(url)
res.encoding='utf-8'
print res.text