27c3_Punycode encoder

Submit

Your name:
File:
Open code-statistics:

Language is selected by the extension of the file. See the list of supported languages to know the extension of your language.

Problem

Punycode is an ASCII representation of UTF-8 words. It is used in international domain names. Build a simple encoder. The RFC 3492 contains an example C implementation.

This is a Chaos Codegolf Challenge: If you are attending the 27th Chaos Community Congress, you can win some bottles of Mate ;). Just enter "27c3" as the beginning of your name and come to get your price on day 2 (28th) and 4 (30th). See the wiki for more information: http://v.gd/27c3golf

Please note: To participate in the challenge, you are not allowed to use punycode libraries, e.g. Python's encode('punycode')

Options

exec is denied

now post-mortem time, all source codes will be revealed

Sample input:_

Bücher
Büücher
Bcüher
Böcher
Bucher

Sample output:

Bcher-kva
Bcher-kvaa
Bcher-lva
Bcher-jua
Bucher-

Sample input:_

öä
äö
Gewürzgurke
Käsebrötchen
Ænima
©opyright
$€£
ġooġle
Ŭnícȏdė
❄and☃
▙▟▗▟
3.5‰
ѱ
Nähkästchen
pv¬p
ʦʦʦʦʦ
ČΉΑΘΖ
Übermäßig
Eigenvälue
forget☂
⚡
⚀⚁⚂⚃⚄⚅
☆Chaos★
Òśbspȵweb
kśĞуyDŽ
ῑ⁐½xῑfeeqoƩsѭĞoϊ
wajgc
ῤgoeÒpk
МukdpŹo
hdbiʼbiaМŹƪ¡shna
oʼtnbjyfpqgrg▣
ῤȵƪуvargʼutllĞlg
zjmcqῤaiaichvѭyu
pqdhm¡ftaa¡pxɰr
vaĞwѭf¾⁐ptzju½rffѬ
tekőőih⁐ő
ɰrk˪қxqmʼqrps
Ѭ½nуujv˪
wdʓ▣e¹pʼѬwma
МcΟsmmkazipqv⁐Λfx
rѬgrқklvgikzgśΛ¡l▣ke
shedМwhhu
ƢѬvoƢb
rwqfb
¾uekm
śqqwϊ
l¾kgȵʓh˪
ljxrvyƩlx
őjgśʓuѭ˪s▣kuŹb
oxcntaʓМukjvĞDŽdŹk
qőayickқiaуdcho
ῑqupncқqoiciqDŽ
uxwskzjladmc¹iefk
pnktrĞwῤeqosos
dῑѭvwq¾ῑkkycrɰhkbt
ῤaуpῤizczycῑxtbvῑhśz
ƪƪ¡lkf
dѬyϊ˪jĞysq
cқpwutxiaϻjnuefуd
i⁐уmѭgfɟsg
jvjpМn▣yfuῑbqΛwyvlś
pxƪq¹oŹsq¹ῑjȵῑуcmc
ѬgaczƩnu¾cуŹilu˪z¼bk
gqheĞММcsgg
ooymsquko
eyupőϻŹts
Οdsfhb¡pқainɟῑxbῑgƪѭ
czaiwdru
ʓyΛМɟDŽhjhnzkdkқƢjx
uΛbyzѬśuigɰpyjϻyy
rk˪ĞrѬaƢc
½ixdѭgx⁐▣
¡n¹dw¾
sőznf˪uʼÒ¾zelsbmpaÒl
▣tpykῑyѭ˪Λtunkʓ
nopkʼude⁐ùatlМῤ
yogjmῑĞzƩaleqdna
DŽϻp˪ap
jr▣ɰɟyaÒyő⁐¼w
Мjmőn
dysxutŹŹdtfitghnDŽgƩ
Λrezwqjzῤ
ῤőubvglbd¹ϻΟz¹s
½eῤhq¾ῤkĞgbkkym¾jƪ
ῤafwwѭ¼ƪῤpƩϻssȵaɟmft
gőf¹amvukaydkɰv
lgqyĞeh¹elfgyőzѬhu
ʼehɟs¼ʓx
xΛɟznscΛƢa
bùeqΛÒlуjgj¼shfjϊe
dqfiқuѬz˪poĞdir¹lɰec
llevrʼcуwDŽ
bqlqd½ɰϊc
qpmΟbig
jbciѭfxzƩfőù½cvl▣b
DŽőhfùkőrwrƩnȵb
alsyc
nofzqbѭ
yŹyɰowszdas¹s˪zfrȵrl
mw¹hdomƪe¡t
itut½
ɟʓѭŹbwΟbdosi
ῤxtуѬĞϻhxvxhstoῑpxo
уѭwapvDŽzjlgvbo
pgdve
ϻʼtwÒnzt¾oeмуeуug
m¾ucad¾uῑe
fgƩ¹jj
zуmvΟѬy
cfwʼdƩizrve
lamῑs¼
fῑƪzx
lῤt¼hhgheϊkcd˪DŽ
uukzhśhpdalbtʓgb
gbmpdvМquyɰ
yyuimwsÒyoaϊthśq
cῤt˪uotpgƩѭ¡gk▣˪ś
wŹpnŹsϻugadz¾qʓƩsdsd
sfmmtm¹yian⁐¡
jkpῤncvjjme
fiőtomĞkpd¹¹sduѬjmÒʓ
hÒxwncyf
bwydfcorluDŽjt¼plmi
inśfkῑΟῤeyf
wcajmiѭeő
¡myavőpùzѬkqojgʓmev
yd¹ffÒqchjw
mnhrtĞ
wʼѬΟѭt¡▣⁐aῤtwcϊ
½awstpőĞepῑ
t¡phῤhmphʓnt½kqm
bΟcѬDŽ
fcқzcjgcp¾v
y¼ƪreywjlŹϻi¡qivdyɟ
aqsbcbw˪mɰzуkkfemw
wϻqɟa
wpwқ˪
¼ɰdlnqfblùyxczdrsῤf
ϊvsŹalvpl⁐ùrei
dῑqqbqtiśqzjv
fzdwc
m¼őlkaalmsblśуsqʼhm
cfdzѭgnѭwʼМaovsh¹
ycpқ¼ʓdhdiɰyaѭdDŽgvw
½zoϊɟɟɰ▣nϻjῑaŹΟ⁐ʓzr
byfzyslrzvzmrptb
kcnnolù
p⁐rbqyѭΟrjΛo
főуctΛwucΛrmΟq¹l
rclgnĞnkhelѭbcѬe
¹ϊΛῤtxuƢv
cjzbvemƪypiuɟhsdg
wy▣fМyùbk
қpwϊxyƪś⁐dѬrszdaj
jlyvzt
ɟq¾uqɟgқуhidnx
flqzМʼlcgjmreƢ¡aῑ
veқѭś
ϻsʼùdpulgyjɟ
ῑrtweoeϻ▣iyf⁐tМù
oқulaaқwѬxogezz
¾ttuwsŹῤoh
śϊʓdcqɟi
lqrgvzzg
crgbzasƢi
yzśƪĞwyhΛvƩhq
cxῑvƪuyyrdunovΟқ
Ʃőϊc˪we▣snƪhƪcysgϊe
odzjkқuoƩzc
pjù˪h
ȵmpaxydemrϊ½
kraśyfjydbgΟbmśuw⁐
½ϻzőϊʓ▣ʼùqqpz
DŽlῑvΛwqbɰқ
Мwrwvуxntrtxmzȵɟore
mssƩxcavcɟl
ztkvetrzb
¼mvctczsу⁐r
ѭoDŽ¹dhjydos
¼Λicq⁐eʓ¡▣gɰῤxuot▣ѭ
psῑῤbwa˪¡ʼglyaooo
tdgekwu¼őƩуhnuƢu½e
kfhswg▣jljnDŽc
cywnwjttj¹ῤ
¼¹Λdvzha¡ohlu
Ѭῑqwv
ùxѬƩllʓőjrkʓo⁐ϊks▣
aɰzs½dʓubślśghu
rĞқvaуkΟkùmq˪l
ῑzvuő½DŽcù˪▣ilʼyz
ʓjlМx
q˪yoȵwfvhvѭ⁐DŽƪtvgxx
ʼwők¡chn
otkΛehjgDŽƩ
őpliῑśoyhvvjƪwh½ae
ɟq¾fѭnw
ѭϊɰhdkƢ
śv¡¼⁐bϊ
dehÒʼpjlȵῑƩvuuxx
s˪sctsta¡˪
yѬzsowʼdpmxj¹ϻ
Òxenùɰ
rmohj
qśxnck
aƪƢ¹dxmzoĞʼgkibmr
ѭvϻΛùx
hlsupΛȵxxmhуaΛsiМl¹¾
ɰiwÒf
uxcrῑaaqritnvl
cΟcyőwΛоxuῤsyĞbij
¼ϻÒir¡vhqotbɟt
gjyῑ⁐
cdΛzozbues⁐½iu
Ƣzg¾⁐zjjmΛϻ
mwDŽgofқfaʼbyƪʓῑȵő
pnjmʼùƪѭ
¼Λʼi¡mvmuѬrqśΛőw
qqvwbc¹Ƣiruhvi
▣hdvdwgn
kxoqtwqlwDŽtoeқl
¼Οmῤῤzdqqz
gjƢῑdzwm
қhDŽwr

Sample output:

4ca9a
4ca0b
Gewrzgurke-ceb
Ksebrtchen-q5a4t
nima-9ja
opyright-tka
$-bca617v
oole-9wac
ncd-rma6sts20b
and-um5ar6e
k0hdsb
3.5-gr0a
32a
Nhkstchen-v2ac
pvp-dfa
zpaaaaa
9da88jyauj
bermig-osa2a8b
Eigenvlue-02a
forget-u48c
57h
76hcdefg
Chaos-zb1cb
bspweb-oqa01if8c
ky-una7vxsy3j
xfeeqoso-ypa19gw7b74mq8bsu8oca34r
wajgc-
goepk-foa8876c
ukdpo-2hb438b
hdbibiashna-sla12zvtaj2k92g
otnbjyfpqgrg-rcg5126j
vargutlllg-5ob58nvxcf0cp6jk72k
zjmcqaiaichvyu-clmz567f
pqdhmftaapxr-omae160e
vawfptzjurff-6wai15ld14afa8169j
tekih-69aac8252e
rkxqmqrps-zbe55fxps5p
nujv-zia064a50ckj
wdepwma-ena873b2lm2ngr0k
csmmkazipqvfx-ldj3cy5lh16u
rgrklvgikzglke-qoa980a16nfxduzam649b
shedwhhu-z1g
vob-f7ac593b
rwqfb-
uekm-4ia
qqw-bza232a
lkgh-5ia66t2szv
ljxrvylx-tgc
jguskub-1mb6gyox0i43az7l4q5l
oxcntaukjvdk-8xb98jd6aq2g54i
qayickiadcho-xhc776hwib
qupncqoiciq-ogd855gio3h
uxwskzjladmciefk-b2a
pnktrweqosos-3xb7041i
dvwqkkycrhkbt-6ya926doyi249jfa
apizczycxtbvhz-iyc500jp71jea06ad
lkf-1da83ka
dyjysq-y5a297aupci4b
cpwutxiajnuefd-d6k38gm5b
imgfsg-6zc289a3kr39u
jvjpnyfubqwyvl-jyc523gq8b750u0dxa
pxqosqjcmc-9rad70wrtan9dq6nfy0kca
gacznuciluzbk-lyay701agxal9ofmhfxa
gqhecsgg-0fb477ea
ooymsquko-
eyupts-6gb43a92r
dsfhbpainxbg-oma138aq9c8thr2doxa2421bca
czaiwdru-
yhjhnzkdkjx-y3c74bj6eiwa75kxscv7c
ubyzuigpyjyy-qlc599a6wfhvbw2c
rkrac-f1a04g48el1e
ixdgx-qka527d3t6dr9j
ndw-1da5j6a
sznfuzelsbmpal-z0a33aja58tg1ki0a
tpykytunk-8le66gy4d73d068mpisa
nopkudeatl-idb225c78e2p7jelb
yogjmzaleqdna-m2b00scz3t
pap-bcb58l06b
jryayw-fma8ot9b96elf2346abqo
jmn-7xa686a
dysxutdtfitghng-9ida78fvo
rezwqjz-zgf0926d
ubvglbdzs-rqab82pnyn1jb4z7w
ehqkgbkkymj-6uaqh74li2dc93tda
afwwpssamft-yua691ama30sitx2tr6byv7wha
gfamvukaydkv-iva04sl1g
lgqyehelfgyzhu-vya72n9ya522b
ehsx-xia62wqkwk
xznsca-fxb12mi3efa
beqljgjshfje-rwa71a5t805aexay9d
dqfiuzpodirlec-0ya62nl8krocr7l20a
llevrcw-jec34t00f
bqlqdc-mma495a8zd
qpmbig-5te
jbcifxzfcvlb-5wa35f63bg2b150a1w4m
hfkrwrnb-g5a19fea37h0j18c
alsyc-
nofzqb-g0f
yyowszdasszfrrl-l0a963acrex5a83e
mwhdomet-yia8uj2h
itut-3ia
bwbdosi-6vb38r4og9gs6c
xthxvxhstopxo-j2b901i46a6te950b5ja
wapvzjlgvbo-hgd614f2qa
pgdve-
twnztoeeug-ctav0x81bf1p2ufl9aba
mucadue-hoae5660f
fgjj-hia35l
zmvy-ijd59gki
cfwdizrve-8oc731a
lams-yia4588b
fzx-d8a8079a
lthhghekcd-6sa092ag3er0d6x5n
uukzhhpdalbtgb-9xc311c
gbmpdvquy-8be818b
yyuimwsyoathq-96a47rz2q
ctuotpggk-wja26rw0ac3jja519c6n2k3oua
wpnsugadzqsdsd-30a790aca68f90kr3i
sfmmtmyian-xka7zx868a
jkpncvjjme-yf6e
fitomkpdsdujm-bxaa91bv6be0ai9oguk
hxwncyf-1sa
bwydfcorlujtplmi-r3a368b
infkeyf-epb633cjw9f9fa
wcajmie-8mb672e
myavpzkqojgmev-foa72ly4b39kv5j
ydffqchjw-mqa1z
mnhrt-i1a
wtatwc-xga424bn9bqmh1dna0252gfibez7b
awstpep-7na29ftov48y
tphhmphntkqm-kma41b18uzy5k
bc-31a21ql3a
fczcjgcpv-7ra689h
yreywjliqivdy-pna11b44hvxaf3hpxk
aqsbcbwmzkkfemw-8qg68rs7j
wqa-2tb27r
wpw-z9b87s
dlnqfblyxczdrsf-p1a85hw6qul1n
vsalvplrei-idb44mgzpb61i
dqqbqtiqzjv-kfc1842h
fzdwc-
mlkaalmsblsqhm-0za89uef57wgmi
cfdzgnwaovsh-sva813e4uf5mbca
ycpdhdiyadgvw-dya180bs8c4q10yyya
zonjazr-7na11ovxda8rrr54jhsauy7487ao4byz6b
byfzyslrzvzmrptb-
kcnnol-nya
prbqyrjo-w3f1b70qs76l
fctwucrmql-gsa92pzwnda6dw6n
rclgnnkhelbce-m2b118jna
txuv-fia51l59fzkh27s
cjzbvemypiuhsdg-p5d591a
wyfybk-lya635d9w8f
pwxydrszdaj-hfc04hs1tupcivam288a
jlyvzt-
quqghidnx-0ra996bea704dg9a
flqzlcgjmrea-uma117awpf52grn7l
ve-3sa752atg
sdpulgyj-f5a107a82al3i
rtweoeiyft-ldb943gnmau324aztb8w4b
oulaawxogezz-dxk26cea
ttuwsoh-goa20o401n
dcqi-k5a77mkk16f
lqrgvzzg-
crgbzasi-1ec
yzwyhvhq-yfb32d50aga975d
cxvuyyrdunov-1fd731e93dd84m
cwesnhcysge-xbc75iuab722c0mena9375n
odzjkuozc-cpc504f
pjh-5na99v
mpaxydemr-yra042be3f
krayfjydbgbmuw-7xcj179guz8k
zqqpz-qka53bvws4gzl22hzqm416a
lvwqb-tub32ji6d73cd99i
wrwvxntrtxmzore-ezf82e23wkva
mssxcavcl-7oc12r
ztkvetrzb-
mvctczsr-ppa151g5q4f
odhjydos-yoa38x87k
icqegxuot-tja60as4p6ma72jm1db83nkrbc32cha
psbwaglyaooo-oma066extam318aija
tdgekwuhnuue-rwas92tevbkdu85c
kfhswgjljnc-ngd8840j
cywnwjttj-tqa3888f
dvzhaohlu-uja2x9a408f
qwv-0jd9716a
xlljrkoks-u8a58gd4a80gea087b01ck45qcbua
azsdublghu-jta31qba389aepa
rvakkmql-j5a97a12o6nc42ce9a
zvucilyz-1pa51df4aq3bi6flsa6185aoqta
jlx-yzb18q
qyowfvhvtvgxx-pod30b63d35ej2jq12m
wkchn-zfa44j68e
otkehjg-d7b6v31o
plioyhvvjwhae-zya22txe39ct724a
qfnw-5ia41wk7e
hdk-i7a04hk0du6a
vb-4ca2iw9a60im49d
dehpjlvuuxx-h2a21z8rc01ct29t
ssctsta-0ha273cha
yzsowdpmxj-hsa882dxse4wb
xen-nja2rj7f
rmohj-
qxnck-ucb
adxmzogkibmr-hva33ln6cwdy5s
vx-oka90yyn5v
hlsupxxmhasil-gxa9e654a4xgga76vfwa
iwf-pja18r
uxcraaqritnvl-6v5g
ccywxusybij-nva16jfa17e760a2b9452f
irvhqotbt-rja80a6is8prug
gjy-lg0a03a
cdzozbuesiu-gva846g218h
zgzjjm-qma53pczhp1am39t
mwgoffaby-8yb29gyi14cuybqrn3vy98j
pnjm-ora67h06cb9e
imvmurqw-sia2yx2dod01sgudka454a
qqvwbciruhvi-mva673a
hdvdwgn-bd6d
kxoqtwqlwtoel-4yd220i
mzdqqz-9la620d897ea
gjdzwm-cxb0392d
hwr-ccb747a

Sample input:_

Cyber
Chäos
Commünicätion
Compüter
Cöngress
Clüb

Sample output:

Cyber-
Chos-moa
Commniction-r8a22a
Compter-q2a
Cngress-90a
Clb-ioa

Ranking

Ruby _

RankUserSizeTimeDateStatistics
1leonid3030.35702010/12/29 15:20:070B / 162B / 119B
227c3/J-_-L3810.49382010/12/30 23:36:570B / 201B / 144B
3J-_-L3830.50492010/12/30 23:16:400B / 201B / 144B
4leonid2960.40812010/12/31 02:49:211B / 155B / 119B
5narb (leonid)2990.40832010/12/31 02:36:320B / 161B / 116B

Python _

RankUserSizeTimeDateStatistics
1hallvabo570.15282010/12/28 01:20:540B / 41B / 14B
2leonid570.14302010/12/28 01:50:050B / 41B / 14B
3twobit570.23332010/12/29 10:31:490B / 41B / 14B
427c3rabozacherl790.13832010/12/30 06:38:410B / ?B / ?B

Language Ranking_

RankLangUserSizeScore
1Pythonhallvabo5710000
2Rubyleonid2961925

return top