【Python】エンコードとデコードを爆速で理解!【encode / decode】

Python

みなさんこんにちは、現役エンジニアのサメハックです

未経験からWebエンジニアに転職し、
現在正社員として5年働いたのちフリーランスとして独立しました。

Pythonの解説シリーズです。

今回はエンコードとデコードについて学んでいきましょう!

駆け出しエンジニアや未経験の方、
また新入社員を指導する先輩社員にとっても
わかりやすいように解説していきます!

この記事を読むと・・・
  • エンコード処理がわかる
  • デコード処理がわかる
抵抗感のあるトピックだけど簡単だよ!

エンコードとは

現在のデータを別のデータ形式に変換すること
プログラミングをやる上では、人間が読める文字をバイナリコードに変換することを指す。

元のデータ(UTF-8)

こんにちは

↓ エンコード!

e3 81 93 e3 82 93 e3 81 ab e3 81 a1 e3 81 af 

encode関数を使おう

encode関数の構文

文字列.encode(文字コード)
#文字コードはデフォルトでUTF-8

encode関数の使用例

【encode_test.py】

msg = 'こんにちは'
print(msg.encode('utf-8'))

実行結果

 % python3 encode_test.py 
b'\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf'

※ちなみに\xというのはスペースの代わりのものだと考えてOKです。

b” というのは、bytes型であることを表しているよ!

デコードとは

デコードとは、変換されたデータを元のデータ形式に戻すこと
プログラミングをやる上では、バイナリコードを人間が読める文字に変換することを指す。

バイナリコード

e3 81 93 e3 82 93 e3 81 ab e3 81 a1 e3 81 af 

↓ デコード

人間が読める文字(UTF-8)

こんにちは

decode関数を使おう

decode関数の構文

バイナリコード.decode(文字コード) 
#文字コードはデフォルトでUTF-8
上記のバイナリコードはbytes型だよ!

decode関数の使用例

【decode_test.py】

msg = b'\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf'

print(msg.decode('utf-8'))

※エンコードと同様\xはスペースの代わりのものだと考えてください。

実行結果

 % python3 decode_test.py 
こんにちは

まとめ

  • エンコード・・・人間が読める文字をバイナリコードに変換すること
  • 文字列.encode(文字コード)
  • デコード・・・・バイナリコードを人間が読める文字に変換すること
  • バイナリコード.decode(文字コード)

満足いただけたら、1クリックなのでSNSフォローしてもらえると嬉しいです🦈

タイトルとURLをコピーしました