帰ってきたnantoさん

http://golf.shinh.org/reveal.rb?trivial+encoder/nanto_vi/1210779983&js
unescapeとかすっかり失念していた。もうちょい縮めて…

print(/H/(l=(r=readline)(r()))?[l.charCodeAt(i).toString(16).toUpperCase()for(i in l)].join("")+/A?/(l[89]):unescape(l.replace(/../g,"%$&")))

141B。でもこれだと埋め込み部分を入れ替えただけの146B136Bに届かない。
せっかくの配列内包だが,いまいちゴルフには使い辛い印象がある。

余談

スーパーpre記法が正規表現リテラルをちゃんと認識しないので上記コードは素のまま。言語によって出来がまちまちなのも気になるし,はてなキーワードみたいにユーザ側から追加・改善出来るようにならないのかな。