Voilà un exemple de code. On peut faire apparaître la forme
encodée ou
décodée directement dans la fenêtre mirc en utilisant respectivement
/utf.encode texte à encoder en utf8 ou
/utf.decode texte utf8 à décoder , ou alors encoder ou décoder "à la volée" en utilisant
$utf.encode(texte à encoder en utf8) ou
$utf.decode(texte utf8 à décoder)CODE
alias utf.decode {
;from Vincula CCS 0.5 by C-Dryk / CCS*TEAM
;(based on Vincula Neo 4.9p by eXonyte, and updated)
var %r, %l 1
%r = $replace($1-,ï?‚,B,ï‚ ,-,ï€>,-,,-,ï€?,-,ï?…,E,ï?ƒ,C,ï??,A,ï?’,R,ï?‹,K,ï?¹,y,ﺘ,i,ﺉ,s,דּ,t,טּ,u,ﻉ,e,ï?«,k,ï?†,F,ï?µ,u,ï?§,g,Χ,X,,>,,$chr(37),,8,ï?¤,d,ï?,m,ï?¨,h,ï»›,s,ï?‡,G,ï??,M,ï?¬,l,ï?³,s,ï?Ÿ,_,ï?”,T,ï?²,r,ï?¡,a,ï?®,n,ï?£,c,ï?¥,e,ï?Ž,N,ï?¡,a,ï?´,t,ï?©,i,ï?¯,o,ï?®,n,ï?¦,f,ï?·,w,ï?œ,\,ï?¼,|,ï?€,@,ï??,P,ï?„,D,,',ï€ , ,,$chr(40),,$chr(41),,*,,:,ï?›,[,ï??,],ï?°,p,,.,₪,×,اااا,llll,ااا,lll)
%r = $replace(%r,ا,I,ή,n,ņ,n,Ω,n,»·,y,Ñ€,p,Ð ,P,Å™,r,Ñ…,x,Ä®,I,Ä»,L,Ф,o,Ĉ,C,Å?,o,Å©,u,Å„,n,Ä¢,G,Å•,r,Å›,s,Ä·,k,Å–,R,×–,i,ε,e,×§,r,Ñ›,h,м,m,ØŒ,·,Ä«,i,‘,‘,’,’,Û±,',Ä“,e,¢,¢,ï?“,S,•,•,ï??,O,ï?‰,I,Ά,A,ÑŠ,b,ŠÏ,T,Φ,o,Ђ,b,Ñ?,r,Ð?,E,д,A,К,K,ÄŽ,D,и,n,θ,o,М,M,Ї,I,Т,T,Є,€,Ǻ,A,ö,ö,ä,ä,–,–,·,·,Ö,Ö,Ü,Ü,Ë,Ë,Ñ•,s,Ä…,a,Ä,i,й,n,в,b,о,o,ш,w,Äž,G,Ä‘,d,з,e,Ŧ,T,α,a,ÄŸ,g,ú,ú,Å”,R,Ä„,A,ć,c,Ä?,Ð,Κ,K,Ñž,y,µ,µ,Ã?,Í,‹,‹,¦,¦,Õ,Õ,Ù,Ù,À,À,Î ,N,Ò“,f,ΰ,u,Ä¿,L,Å?,o,Ï‚,c,Ä‹,c,ħ,h,į,i,ŧ,t,Ζ,Z,Þ,Þ,þ,þ,ç,ç,á,á,¾,¾,ž,ž,Ç,Ç, $+ $chr(173),-,Ã?,Á,…,…,¨,¨,ý,ý,ˉ,¯,â€?,”,Û,Û,ì,ì,Ï?,p,Î,e,г,r,à ,à,È,È,¼,¼,ĵ,j,ã,ã,Ä™,e,ÅŸ,s,º,º,Ñ,Ñ,ã,ã,Æ,Æ,Ëš,°,Я,R,Ëœ,˜,ÃŽ,Î,Ê,Ê,Ã?,Ý,Ã?,Ï,É,É,‡,‡,ÃŒ,Ì,ª,ª,ó,ó,â„¢,™,Ã’,Ò,Ã,í,¿,¿,Ä,Ä,¶,¶,ü,ü,Æ’,ƒ,ð,ð,ò,ò,õ,õ,¡,¡,é,é,ß,ß,¤,¤,×,×,ô,ô,Å ,Š,ø,ø,›,›,â,â,î,î,€,€,Å¡,š,ï,ï,ÿ,ÿ,Ń,N,©,©,®,®,û,û,°,°,§,§,±,±,è,è)
%r = $replace(%r,Ƥ,P,χ,X,Ň,N,Û°,·,Ä´,J,І,I,Σ,E,ιι,ll,ι,i,Å?,O,δ,o,×¥,y,ν,v,×¢,y,מ,n,Ž,Ž,Å‘,o,ÄŒ,C,Ä—,e,₤,L,ÅŒ,O,ά,a,Ä ,G,Ω,O,Ð?,H,ể,e,ẵ,a,Ж,K,á»?,e,ế,e,á»—,o,Å«,u,â‚£,F,∆,a,Ắ,A,á»§,u,Ķ,K,Ť,T,Åž,S,Θ,O,Ш,W,Î’,B,П,N,ẅ,w,ﻨ,i,ﯼ,s,ÑŸ,u,Ñ’,h,¹,¹,Ỳ,Y,λ,a,С,C,Ð $+ $chr(173),E,Ű,U,Ī,I,Ä?,c,Ä”,E,Åœ,S,Ị,I,Ä?,g,Å€,l,Ñ—,i,Ù,*,ʼn,n,Ħ,H,Д,A,Μ,M,Ñ‘,e,Ц,U,Ñ?,e,“,“,Ñ„,o,у,y,Ñ?,c,к,k,Ã…,Å,℞,R,ï “,I,ɳ,n,Ê—,c,â–«,·,Ñ“,r,ệ,e,ắ,a,ẳ,a,ů,u,Ľ,L,ư,u,·,·,Ë™,',η,n,â„“,l,Â?,?,Â?,?,Â?,?,×€,i,Ä¡,g,Å´,W,Δ,A,ﮊ,J,μ,µ,Ÿ,Ÿ,Ä¥,h,β,ß,Ь,b,ų,u,Ñ”,e,ω,w,ÄŠ,C,Ñ–,i,Å‚,l,Ç¿,o,∫,l,ż,z,Å£,t,æ,æ,≈,=,Å?,L,Å‹,n,Ú¯,S,Ä?,d,ψ,w,σ,o,Ä£,g,Ή,H,Î?,i,Ò‘,r,κ,k,ÅŠ,N,œ,\,,/,¬,¬,щ,w,Û•,o,×?,o,³,³,½,½,İ,I,ľ,l,Ä•,e,Å¢,T,Å?,s,Å·,y,ľ,l,Ä©,i,Ô,Ô,Åš,S,Ĺ,L,а,a,е,e,Ρ,P,Ј,J,Î?,N,Ç»,a,Ñ’,h,ί,i,Å’,Œ,¯,¯,Ä?,a,ŵ,w,Â,Â,Ã,Ã,н,H,ˇ,',¸,¸,Ì£,$chr(44),Ø·,b,Ó,Ó,Й,N,«,«,ù,ù,Ø,Ø,ê,ê)
%r = $replace(%r,²,²,л,n,Ñ‹,bl,б,6,ש,w,―,-,Ϊ,I,ï? ,`,Å,u,ổ,o,Ǿ,Ø,ẫ,a,ầ,a,ï?±,q,Ẃ,W,Ĥ,H,á»?,o,−,-,ï?ž,^,ล,a,Äœ,G,ﺯ,j,Ù‰,s,Ѓ,r,ứ,u,â—?,·,Ï?,u,,0,,7,,",Ó©,O,Ç?,i,Ç‘,O,Æ ,O,,2,Ò¯,y,ï?¶,v,Ð?,A,≤,<,≥,>,ẩ,a,ï?ˆ,H,Ù¤,e,ﺂ,i,ÐŒ,K,Ū,U,,;,ă,a,ĸ,k,Ć,C,Ĭ,I,ň,n,Ĩ,I,Ι,I,Ϋ,Y,ï?Š,J,ï?˜,X,ï?½,$chr(125),ï?»,$chr(123),Ξ,E,ˆ,^,ï?–,V,ï?Œ,L,γ,y,ﺎ,i,Î?,o,ỳ,y,Ć,C,Ĭ,I,ĸ,k,Ŷ,y,๛,c,ỡ,o,๓,m,ﺄ,i,ïŽ,G,Ŭ,U,Ä’,E,Ä‚,A,÷,÷, , ,‚,‚,„,„,ˆ,ˆ,‰,‰,ă,a,ï?¸,x,,=,Ù‚,J,,?,,-,â—Š,o,Ñ‚,T,Ä€,A,ï‡,P,Ä–,E,Ę,E,ο,o,Ï‹,u,‼,!!,ט,u,ï®’,S,Ч,y,Ò?,r,Ä›,e,Ę,E,ĺ,I,Λ,A,ο,o,Ú,Ú,Ř,R,Ư,U,Å“,œ,ï€,-,—,—,ห,n,ส,a,à¸?,g,Ψ,Y,Ẫ,A,Ï€,n,Å…,N,Ø!,o,Ћ,h,ợ,o,ĉ,c,â—¦,·,ﮎ,S,Ų,U,Е,E,Ð…,S,Ûµ,o,ÙŠ,S,ب,u,Ø©,o,ئ,s,ļ,l,ı,i,Å—,r,ж,x,Î…,",ÏŽ,w,â–ª,·,ζ,l,Щ,W,฿,B,ỹ,y,ÏŠ,i,Å¥,t,п,n,´,´,Ú©,s,ï±¢,*,ξ,E,Ñœ,k,√,v,Ï„,t,Ã?,Ð,£,£,ñ,ñ,Â¥,¥,ë,ë,Ã¥,å,ï?™,Y,ÇŽ,a)
%r = $replace(%r,ằ,a, , ,Ο,O,₪,n,Ậ,A,ï‚£,£,ïƒ ,à,ï‚®,®,,á,ï‚©,©,,õ,á»?,o,â€?, ,Ö±,¸,Ö¾,-,הּ,n,ź,z,‌, ,Ù?,',๘,c,ฅ,m,Â?,?,,<,â–¼,v,ﻜ,S,â„®,e,ź,z,áº,a,๑,a,ï¬?,fi,ÑŒ,b,ﺒ,.,ﺜ,:,ศ,a,ภ,n,à¹?,o,ะ,=,ï†,y,ซ,i,‾,¯,∂,a,:,:,≠,=,,+,Ù…,r,ồ,o,Ử,U,Л,N,Ó’,A,Ọ,O,Ẅ,W,á»´,Y,ﺚ,u,ﺬ,i,ïº?,u,Å»,Z,ﮕ,S,ﺳ,w,ﯽ,u,ﺱ,uw,ﻚ,J,ﺔ,a,,!,á»…,e,Ù„,J,ر,j,Ù€,_,ÏŒ,o,â‚«,d,â„–,no,ữ,u,Äš,E,φ,o,ï» ,I,ц,u,,Å,,N,Њ,H,Έ,E,ï?¾,~,ï?•,U,ạ,a,,1,,4,,3,ỉ,i,Ε,E,Ð?,U,Ùƒ,J,★,*,ï?¢,b,,$chr(35),,$,â—‹,o,ÑŽ,10,ỵ,y,áº?,w,Ò›,k,Ù¿,u,♂,o,ïŠ,n,Ù¥,o,ï®?,S,â?¿,n,ï»—,9,ï?¢,b,,$chr(35),,$,â—‹,o,ÑŽ,10,ị,i,Α,A, , ,ﻩ,o,ï»?,E,Ù†,u,ẽ,e,Ø«,u,ã…“,t,Ó›,e,Ó˜,E,ﻘ,o,Û·,v,שׁ,w,ụ,u,ÅŽ,O,Â?,?,á»±,u,J,J,ï½…,e,ï½?,a,ï¼®,N,(,$chr(40),ï¼ ,@,ï½€,`,.,.,′,',),$chr(41),â–¬,-,â—„,<,â–º,>,∑,E,Ö»,$chr(44),‬,|,‎,|,‪,|,‫,|,Ộ,O,И,N,ï?—,W,ï?º,z)
%r = $replace(%r,ס,o,╳,X,Ù ,·,Ò’,F,Ï…,u,â€?,?,Ö¼,·,Ç”,u,ผ,w,Ằ,A,Ấ,A,»,»,ﺖ,u,ố,o,ﮓ,S,ở,o,ﺕ,u,ï®”,S, Òœ,K,♦,·,‗,_,ﻈ,b,ฬ,w,אּ,x,ï‚,-,ข,u,ท,n,Ờ,O,Ặ,A,á»,u,Ễ,E,ਹ,J, Ù‡,o,â– ,·,Æ¡,o,ï?¿,,Ò£,h,Òš,K,Ò²,X,Ò³,x,Òœ,K,ع,E,Ú†,c,ч,y,Ð¥,X,Ù¦,7,Ö½,.,ÙŽ,',Ö¿,',׃,:,á»?,o,Ò–,X,ÛŒ,s,ฬ,w,∙,·,Τ,T,â“’,c,â“?,a,ⓟ,p,â“”,e,â“£,t,Ç?,A,Ð¥,X,Ö³,.,ÛŒ,s,Ỉ,I,̉,',ï?š,Z,á»?,o,ẹ,e,Ò?,k,ﺖ,u,ố,o,ﮓ,S,ở,o,ﺕ,u,Òš,K,ï?š,Z,Ì•,',├,|,┤,|,Ø£,I,‹,,×?,x,ặ,a,Ç’,o,Ờ,O,☼,¤,×?,.,ï?š,Z,ฤ,n,â‘·,4,⑵,2,â’ª,0,เ,i,☻,•,â• ,|,╦,n,å??,†,ấ,a,,‚,З,3,Ẵ,A,ÐŽ,y,Ź,Z,΄,',À¨,$chr(40),À©,$chr(41),×—,n,Ở,O,á»”,O,์,',à¹,g,Ð’,B,ã€?,[,】,],s,s,ï½?,m,ï½?,o,k,k,ï½—,w,d,d,Ũ,U,ï?‘,Q,↨,|,Ẩ,A,Ẽ,E,Ö¸,¸,ธ,s,Ùˆ,g,з,e,ظ,b,ﺸ,…,Б,b,ï?-,m,ﻲ,…,Ù¾,u,غ,e,Ẩ,A,ẻ,e,Ò¹,y,ฆ,u,ฯ,-,ׂ, ,,-,ïƒ?,Ð,,ë,ת,n,Ù§,V,Ợ,O,Û?,I,Ûž,O,Û©,O,Àº,:,À{,;,Å¿,ƒ,♥,*,â™ $+ $chr(32),*)
%r = $replace(%r,Ы,bl,Ẁ,W,â–Œ,|,â–?,|,ï´¾,$chr(40),ï´¿,$chr(41),ØŸ,?,áº?,Z,˘,˜,→,->,â†?,<-,╚o, |—,oâ•?,—|,Ù‘,,ت,¬,ฑ,n,ม,u,╬,+,â–“,?,Ί,I,☆,*,♣,*,†,†)
if ($isid) return %r
else echo $color(normal) -a 15•14 UTF Decode: %r
}
alias utf.encode {
;from Vincula Neo 4.9p by eXonyte
if (!$hget(utf.enc)) utf.enchash
var %x, %l 1
while (%l <= $len($1-)) {
if ($hget(utf.enc,$mid($1-,%l,1)) != $null) %x = %x $+ $hget(utf.enc,$mid($1-,%l,1))
else {
if ($mid($1,%l,1) != $chr(32)) %x = %x $+ $mid($1-,%l,1)
else %x = %x $mid($1-,%l,1)
}
inc %l
}
if ($isid) return %x
else echo $color(normal) -a 15•14 UTF Encode: %x
}
alias utf.enchash {
;from Vincula CCS 0.5 by C-Dryk / CCS*TEAM
;(based on Vincula Neo 4.9p by eXonyte, and updated)
var %in € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
var %out € ‚ ƒ „ … †‡ ˆ ‰ Š‹ Œ Ž ‘ ’ “ � • – — ˜ ™ š › œ ž Ÿ  ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬  ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À � Â Ã Ä Å Æ Ç È É Ê Ë Ì � Î � � Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü � Þ ß à á â ã ä å æ ç è é ê ë ì à î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
var %l 1
if ($hget(utf.enc)) hfree utf.enc
hmake utf.enc 25
while (%l <= 123) {
hadd utf.enc $gettok(%in,%l,32) $gettok(%out,%l,32)
inc %l
}
}