October 2017
Intermediate to advanced
832 pages
13h 34m
Japanese
ヒトは文字を使います。コンピュータはバイトを話します。
——Esther Nam & Travis Fischer「Character Encoding and Unicode in Python」,PyCon 2014,スライド12枚目より[04-01]†1
[†1] ビデオもあります[04-02]。
Python 3は、ヒトが文章を記述する文字と生のバイトの羅列との間に厳密な区別を導入しました。バイトシーケンスをUnicodeテキストに暗黙的に変換したのは過去のことです。本章ではUnicode文字列、バイナリシーケンス、そして両者間の変換に使用されるエンコーディングを扱います。
書こうとしているPythonプログラムによりますが、Unicodeを深く理解しなければならないこともあれば、あまり重要ではないこともあるでしょう。本章で説明する問題のほとんどは、ASCIIテキストだけを扱うプログラマにはあまり関係ありません。しかしそうであったとしても、strとbytesの差異からは逃れることはできません。おまけですが、特殊用途なバイナリシーケンス型はPython 2の「多目的」なstr型にはない機能を提供していることにも気付くでしょう。
本章では、次のトピックを説明します。
bytes、bytearray、memoryviewといったバイナリシーケンス固有の機能Read now
Unlock full access