数字やアルファベット、よく使われる記号などを集め、数字を割り当てて ASCII(アスキー) と呼ばれるルールが決められていました。 空白や改行のような制御文字を含めて、128種類の文字に対応する数字が決められています。 ASCIIに定められた文字集合は「0 ...
これを怠ると、サーバーは受け取ったデータを正しく解釈できず、400 Bad Requestなどを返してきます。 標準ライブラリ「urllib.parse」で解決 Pythonには、この複雑なエンコード処理を簡単に行うための標準ライブラリ urllib.parse が用意されています。