みなさんこんにちは、現役エンジニアのサメハックです
未経験から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フォローしてもらえると嬉しいです🦈