メール(SMTP)やHTTPなどのパケットは、ヘッダ部に宛先やその他メッセージの制御に関わる情報が載せられる。このヘッダは途中のゲートウエーを幾つか中継され、端から端のノードに伝達されるので、これらのノードに理解できるコードと文字で表現されなければならない。ヘッダ部に日本語のような2バイトの文字が入ると、ノードはこれを1バイトずつ解釈しようとする。そのような混乱を防止するためURLエンコードが考えられた。URLエンコードというのは、もともとヘッダ部のURL部分に2バイト文字や制御文字と紛らわしい文字が入るのを防止するために考えられたからである。しかし送られる情報をすべて「見える」文字列に変換するのは都合が良いことが多く、ボディ部分にもしばしば使われる。ボディ部分の変換にはもうひとつMIME(Multi-Purpose Internet Mail Extensions)エンコーディングがある