2019-05-01学んだ言葉

  • byte(バイト)
    • 情報量の単位のこと。多くの場合は8bitのこと
    • 8bit は 28 = 256なので、10進数なら0~255 or -128~127, 16進数なら0x00~0xffで表すことができる
  • PythonのBytesIO
    • バイナリデータをメモリ上で高速に扱うための機能
    • 画像や音声データをファイルに書き出しなどせずにメモリ上でファイルのように受け渡しできる
    • img_bytes = io.BytesIO() → plt.savefig(img_bytes, format='png') → pil_img = Image.open(img_bytes)
    • img_in = urllib.request.urlopen(url).read() → img_bin = io.BytesIO(img_in) → img = Image.open(img_bin)
  • encode <--> decode
    • 符号化。圧縮などのためにある情報を他の形式の情報に変換することに使われる。ハフマン符号化など。
    • 文字エンコード、の場合は文脈によりその変換表を指すことと、変換作業を指すことがある
    • decode することで情報を元に戻す。暗号化と復号化の関係と同じ。
  • リテラル
  • base64
    • エンコード方式の一つ
    • バイナリデータをa-z, A-Z, 0-9, +/とパディング用=の64文字+1文字で変換する
      • 2進数を64進数に変換していることになる
    • 電子メールの送信プロトコルSMTPがASCII文字(7bitで表現される英数字)にしか対応しておらずバイナリデータ(音声や画像)をASCIIに変換する必要があった
    • MIME(Multipurpose Internet Mail Extensions:多目的インターネットメール拡張)という規格の一つ