読者です 読者をやめる 読者になる 読者になる

あれもPython,これもPython

Pythonで世界を包みたい

今週のPython(2016年4月9日週)

今週のPython

f:id:esu-ko:20160415213414p:plain

(近況) ここの所、忙しくてあまりPythonに触れられていません。
安西先生Python(とtwitter)が、やりたいです。。。

そんなこんなで今週のPythonです。

続きを読む

PythonでBASE64を扱いたい(base64を使う)

Python勉強記(モジュール毎)

PythonBASE64を扱うには、まさしくその通りの名前のモジュールbase64を用います。
画像を扱う時に備えて勉強しておく必要があります。

そのまえに、BASE64とは

BASE64はバイナリデータを64種類の文字に置き換えて表現する方法です。
64の内訳は

  • 大文字英数字:26
  • 小文字英数字:26
  • 数字:10
  • 記号(+/):2

となっています。

バイナリデータからBASE64に変換する場合、
6ビットずつに区切って変換していきます。

その他知識はWikipediaがよくまとまっています。
(具体的な手順、使用例など)

https://ja.wikipedia.org/wiki/Base64

pythonで行う場合

import base64

# base64にエンコード
from_str = "TEST"

str_encoded = base64.b64encode(from_str)

# base64からデコード
str_decoded = base64.b64(str_encoded)

その他

Pythonドキュメントによると

このモジュールはバイナリデータを印字可能な ASCII にエンコード関数、およびそのようなエンコードデータをバイナリにデコードする関数を提供します。それらは、RFC 3548 が定義する Base16, Base32, Base64エンコーディングデファクトスタンダードになっている Ascii85, Base85 のエンコーディングについてのエンコード、デコード関数です。

とあります。
たとえば、base32にエンコードする場合は
base64.b32encode()を用いますし、
url用のエンコードにはbase64.urlsafe_b64encode()を用います。

画像ファイルを扱う

ローカルファイルの場合は、
開いて読み込めばOKです。

import base64
with open("対象画像ファイル","rb") as f:
    img = f.read()
    img_base64 = base64.b64.encode(img)

ここから先はネットワークやらエンコードやらの知識が欠けているので、
今後勉強してこう。

Pythonで画像編集がしたい(Pillowを使う)

Python勉強記(モジュール毎)

そろそろ画像まわりも覚えていきたいので、
まずPillowをためす。

機械学習なんかをするにはOpenCVやnumpyで画像を扱える必要があるのだろうけど、
まずは簡単な画像編集から。

続きを読む