Base64

wikipedia:Base64

Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。



電子メールのSubjectをデコードしてみる。

Subject:
 =?ISO_2022_JP?B?GyRCRFQbKEIgGyRCPz9AaCROIVhAbzlxO2I7UkVBGyhCIBskQkh0GyhC?=
 =?ISO_2022_JP?B?GyRCTjVKVBsoQiAoGyRCJWwlIiVfJS8lORsoQiAbJEIlMyVfJUMbKEI=?=
 =?ISO_2022_JP?B?GyRCJS8lORsoQikbJEIhWSEiGyhCQW1hem9uLmM=?=
 =?ISO_2022_JP?B?by5qcBskQiRHJCo1YSRhJCQkPyRAJDEkXiQ5GyhC?=



python

[tigerii@fedora ~]$ python
Python 2.7.1 (r271:86832, Apr 12 2011, 16:16:18) 
[GCC 4.6.0 20110331 (Red Hat 4.6.0-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import base64
>>> print base64.b64decode('GyRCRFQbKEIgGyRCPz9AaCROIVhAbzlxO2I7UkVBGyhCIBskQkh0GyhC')
辻 真先の『戦国獅子伝 飛
>>> print base64.b64decode('GyRCTjVKVBsoQiAoGyRCJWwlIiVfJS8lORsoQiAbJEIlMyVfJUMbKEI=')
竜編 (レアミクス コミッ
>>> print base64.b64decode('GyRCJS8lORsoQikbJEIhWSEiGyhCQW1hem9uLmM=')
クス)』、Amazon.c
>>> print base64.b64decode('by5qcBskQiRHJCo1YSRhJCQkPyRAJDEkXiQ5GyhC')
o.jpでお求めいただけます
>>> 



ruby

[tigerii@fedora ~]$ irb
irb(main):001:0> require 'base64'
=> true
irb(main):002:0> puts Base64.decode64('GyRCRFQbKEIgGyRCPz9AaCROIVhAbzlxO2I7UkVBGyhCIBskQkh0GyhC')
辻 真先の『戦国獅子伝 飛
=> nil
irb(main):003:0> puts Base64.decode64('GyRCTjVKVBsoQiAoGyRCJWwlIiVfJS8lORsoQiAbJEIlMyVfJUMbKEI=')
竜編 (レアミクス コミッ
=> nil
irb(main):004:0> puts Base64.decode64('GyRCJS8lORsoQikbJEIhWSEiGyhCQW1hem9uLmM=')
クス)』、Amazon.c
=> nil
irb(main):005:0> puts Base64.decode64('by5qcBskQiRHJCo1YSRhJCQkPyRAJDEkXiQ5GyhC')
o.jpでお求めいただけます
=> nil
irb(main):006:0> 



参照したURL:
http://www.atmarkit.co.jp/fnetwork/rensai/netpro03/netpro01.html