$B8=:_$N(B script encoding $B$NCM$rF@$kJ}K!$O!)(B

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

e$B$9$$^$;$s$,!$$o$+$i$J$+$C$?$N$G65$($F$/$@$5$$!%e(B
-K e$B%*%W%7%g%s$de(B magic comment e$B$K4p$E$$$F7hDj$5$l$?e(B
e$B8=:
$Ne(B script encoding e$B$r<B9TCf$N%9%/%j%W%HFb$GCN$k$K$Oe(B
e$B$I$&$9$l$P$$$$$N$G$7$g$&$+!%e(B

e$B6qBNE*$JOC$H$7$F$O!$e(BRuby/Tk e$B$K$*$$$Fe(B Tk -> Ruby
e$B$GJ8;zNs$rJV$9:]$Ke(B
e$BJ8;zNs$r$I$Ne(B encoding e$B$GJV$9$Y$-$+$r9M$($?$H$-!$e(B
e$B$=$N;~E@$Ne(B script encoding
e$B$GJV$9J}$,JXMx$+$J$H9M$($?$?$a$G$9!%e(B

script encoding e$B$,e(B ASCII-8BIT e$B$H$+e(B US-ASCII

e$B$H$+$J$i!$e(B

UTF-8 e$B$GJV$9$3$H$K$9$kM=Dj$G$9$,!%e(B

e$BCN$k$3$H$,$G$-$J$1$l$P!$$9$Y$Fe(B UTF-8
e$B$GJV$9$7$+$J$5$=$&$J$N$G$9$,!$e(B
e$B$=$N>l9g$O<u$1<h$C$?B&$,KhEYe(B encoding
e$B$r$$$8$kI,MW$,@8$8$=$&$G$9!%e(B

e$B$b$A$m$s!$JQ49$G$-$J$$J8;z$r4^$s$G$$$k>l9g$O$I$&$9$k$+$H$$$&e(B
e$BLdBj$,$"$k$3$H$O>5CN$7$F$^$9!%e(B
e$B$=$&$7$?>l9g$Oe(B script encoding e$B$re(B UTF-8
e$B$K$7$F$b$i$&$+!$e(B
Ruby/Tk e$B$,JV$9$Y$-e(B encoding
e$B$rL@<(E*$K;XDj$7$F$b$i$&$D$b$j$G$9!%e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:33488] e$B8=:_$Ne(B script encoding
e$B$NCM$rF@$kJ}K!$O!)e(B”
on Tue, 29 Jan 2008 11:19:50 +0900, Hidetoshi NAGAI
[email protected] writes:

|e$B$9$$^$;$s$,!$$o$+$i$J$+$C$?$N$G65$($F$/$@$5$$!%e(B
|-K e$B%*%W%7%g%s$de(B magic comment e$B$K4p$E$$$F7hDj$5$l$?e(B
|e$B8=:
$Ne(B script encoding e$B$r<B9TCf$N%9%/%j%W%HFb$GCN$k$K$Oe(B
|e$B$I$&$9$l$P$$$$$N$G$7$g$&$+!%e(B

e$B$=$N%U%!%$%k$Ne(Bscript
encodinge$B$Oe(B__ENCODING__e$B$GF@$i$l$^$9!#e(B

e$B$G$b!"e(B

|e$B6qBNE*$JOC$H$7$F$O!$e(BRuby/Tk e$B$K$*$$$Fe(B Tk → Ruby e$B$GJ8;zNs$rJV$9:]$Ke(B
|e$BJ8;zNs$r$I$Ne(B encoding e$B$GJV$9$Y$-$+$r9M$($?$H$-!$e(B
|e$B$=$N;~E@$Ne(B script encoding e$B$GJV$9J}$,JXMx$+$J$H9M$($?$?$a$G$9!%e(B

e$B$H$$$&$3$H$O!V$=$N;~E@!W$H$$$&$N$O!V$=$N%U%!%$%k!W$G$O$J$/$F!“e(B
e$B$=$N%a%=%C%I$N8F$S=P$785$Ne(Bencodinge$B$G$O$J$$$G$9$+$M$(!#$@$H$9e(B
e$B$k$H!”<B$O8=>u3N<B$KCN$kJ}K!$O$J$$$N$G$9!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: Yukihiro M. [email protected]
Subject: [ruby-dev:33491] Re: e$B8=:_$Ne(B script encoding
e$B$NCM$rF@$kJ}K!$O!)e(B
Date: Tue, 29 Jan 2008 14:27:05 +0900
Message-ID: [email protected]

In message “Re: [ruby-dev:33488] e$B8=:_$Ne(B script encoding e$B$NCM$rF@$kJ}K!$O!)e(B”
on Tue, 29 Jan 2008 11:19:50 +0900, Hidetoshi NAGAI [email protected] writes:
|e$B6qBNE*$JOC$H$7$F$O!$e(BRuby/Tk e$B$K$*$$$Fe(B Tk → Ruby e$B$GJ8;zNs$rJV$9:]$Ke(B
|e$BJ8;zNs$r$I$Ne(B encoding e$B$GJV$9$Y$-$+$r9M$($?$H$-!$e(B
|e$B$=$N;~E@$Ne(B script encoding e$B$GJV$9J}$,JXMx$+$J$H9M$($?$?$a$G$9!%e(B

e$B$H$$$&$3$H$O!V$=$N;~E@!W$H$$$&$N$O!V$=$N%U%!%$%k!W$G$O$J$/$F!"e(B
e$B$=$N%a%=%C%I$N8F$S=P$785$Ne(Bencodinge$B$G$O$J$$$G$9$+$M$(!#e(B

e$B$"!$$4$a$s$J$5$$!%$=$NDL$j$G$9!%e(B
require ‘tk’ e$B$r$7$?%9%/%j%W%H$Ne(B encoding
e$B$rCN$j$?$+$C$?$N$G$7$?!%e(B
tk.rb e$B$,FI$_9~$^$l$F$$$k;~E@$G$O!V$=$N%U%!%$%k!W$Oe(B tk.rb
e$B$NJ}$Ke(B
e$B$J$C$A$c$$$^$9$M!%e(B

e$B$@$H$9$k$H!"<B$O8=>u3N<B$KCN$kJ}K!$O$J$$$N$G$9!#e(B

e$B$=$&$G$9$+!%:$$j$^$7$?!%e(B
require e$B$5$l$?%i%$%V%i%j$,e(B require e$B$7$?%9%/%j%W%H$Ne(B
encoding e$B$K9g$o$;$F=hM}e(B/e$BF0:n$rA*Br$9$k$H$$$&$N$Oe(B
e$B7k9=$"$j$=$&$JOC$K;W$($?$N$G$9$,!%!%!%e(B

e$B8F=P85$Ne(B encoding e$B>pJs$r>o$KJ];}$7$F%a%=%C%I$r8F$V$J$s$Fe(B
e$B%3%9%HE*$KO@30$NOC$G$7$g$&$7!$e(B
require e$B$5$l$?;~E@$G$Ne(B require
e$B85$N>pJs$rJ];}$5$;$k$/$i$$$J$ie(B
e$B$=$l$[$I%3%9%H$OBg$-$/$J$5$=$&$G$O$“$k$1$l$I!$e(B
autoload e$B$N$H$-$O$I$&$9$Y$-$+$H$+$NLdBj$b$”$k$7!%!%!%e(B

e$B$+$H$$$C$F!$e(Bscript encoding e$B$,6/$$NO$r;}$C$F$$$k>u67$Ge(B
Tk e$B$Ne(B encoding_system e$B$N>pJs$re(B default
e$B$K$7$F$7$^$&$N$Oe(B
e$B>/!94m81$J5$$b$9$k$7!%!%!%e(B

e$B$&!A$`!%$I$&$7$h$&!%e(B(^_^;

e$B$o$6$o$6;XDj$7$F$b$i$o$M$P$J$i$J$$$3$H$re(B
e$BA}$d$7$?$/$O$J$$$N$G$9$,!$e(B

e$B!Ve(B Tk e$B$+$i$NLa$jCM$Ne(B encoding e$B$Oe(B Tk.encoding_system =
e$B$Ge(B
e$BL@<($7$F$/$@$5$$!%e(B
e$BL@<($,$J$1$l$P%7%9%F%`$K0MB8$7$?%G%U%)%k%H$Ne(B
Tk.encoding_system e$B$Ne(B encoding e$B$GJV$5$l$^$9e(B e$B!We(B

e$B$H$9$k$N$,BEEv$J$H$3$m$+$b$7$l$^$;$s!%e(B
e$B$I$J$?$+NI$$%“%$%G%#%”$r$*;}$A$NJ}$O$$$i$C$7$c$$$^$;$s$+!)e(B

e$B$^$?!$$b$7>e5-$N$h$&$JBP1~$H$;$6$k$r$($J$$$J$i!$e(B
Ruby e$B$Ne(B encoding → Tcl/Tk e$B$Ne(B encoding
e$B$NBP1~I=$,I,MW$G$9!%e(B
e$B$3$l$r0BA43N<B$K:n@.$70];}$G$-$k$h$&$K$9$k$?$a$K!$e(B
e$B$&$^$$J}K!$O$J$$$G$7$g$&$+!)e(B

e$B@.@%$G$9!#e(B

Hidetoshi NAGAI wrote:

e$B$@$H$9$k$H!"<B$O8=>u3N<B$KCN$kJ}K!$O$J$$$N$G$9!#e(B

e$B$=$&$G$9$+!%:$$j$^$7$?!%e(B
require e$B$5$l$?%i%$%V%i%j$,e(B require e$B$7$?%9%/%j%W%H$Ne(B
encoding e$B$K9g$o$;$F=hM}e(B/e$BF0:n$rA*Br$9$k$H$$$&$N$Oe(B
e$B7k9=$"$j$=$&$JOC$K;W$($?$N$G$9$,!%!%!%e(B

e$B!Ve(Brequire e$B$7$?%9%/%j%W%H$Ne(B
encodinge$B!W$H$$$&35G0$,<B:]$O2?$r;X$7$F$$$ke(B
e$B$+!"$H$$$&$N$O$$=$i$/e(B Ruby 1.9
e$B$K$
$1$k0l$D$NO@E@$+$H;W$$$^$9!#$h$/8@$oe(B
e$B$l$k!VFbIt%(%s%3!<%G%#%s%0!W$N$3$H$@$H;W$&$N$G$9$,!"e(BPerl e$B$de(B
Java e$B$J$ie(B
UTF-8 e$B$de(B UTF-16 e$B$G7h$^$j$^$9$1$l$I!“e(BRuby 1.9 e$B$Oe(B CSI
e$B$J$?$a!“7h$^$i$J$$$Ie(B
e$B$3$m$+!”$=$N$h$&$J0lDj$NFbIt%(%s%3!<%G%#%s%0$,B8:_$7$J$$2DG=@-$b$”$j$^$9!#e(B

e$BM#0l9b$$3NEY$G?dDj$G$-$k$N$,e(B -K
e$B$,;XDj$5$l$F$$$k>l9g$G!"$3$l$Oe(B -K e$B$N%(%se(B
e$B%3!<%G%#%s%0$@$H;W$o$l$^$9$,!#e(B

e$B$+$H$$$C$F!$e(Bscript encoding e$B$,6/$$NO$r;}$C$F$$$k>u67$Ge(B
Tk e$B$Ne(B encoding_system e$B$N>pJs$re(B default e$B$K$7$F$7$^$&$N$Oe(B
e$B>/!94m81$J5$$b$9$k$7!%!%!%e(B

script encoding
e$B$O6/$$$H$O;W$$$^$9$,!"$=$l$b$^$?$=$N%U%!%$%k%m!<%+%k$NOCe(B
e$B$G!"$=$N%7%9%F%`$N!VFbIt%(%s%3!<%G%#%s%0!W$H0c$&%1!<%9$O$=$l$J$j$K$"$jF@e(B
e$B$^$9$M!#e(B

e$B$o$6$o$6;XDj$7$F$b$i$o$M$P$J$i$J$$$3$H$re(B
e$BA}$d$7$?$/$O$J$$$N$G$9$,!$e(B

e$B!Ve(B Tk e$B$+$i$NLa$jCM$Ne(B encoding e$B$Oe(B Tk.encoding_system = e$B$Ge(B
e$BL@<($7$F$/$@$5$$!%e(B
e$BL@<($,$J$1$l$P%7%9%F%`$K0MB8$7$?%G%U%)%k%H$Ne(B
Tk.encoding_system e$B$Ne(B encoding e$B$GJV$5$l$^$9e(B e$B!We(B

e$B$H$9$k$N$,BEEv$J$H$3$m$+$b$7$l$^$;$s!%e(B
e$B$I$J$?$+NI$$%"%$%G%#%"$r$*;}$A$NJ}$O$$$i$C$7$c$$$^$;$s$+!)e(B

Tk.encoding_system e$B$O%7%9%F%`0MB8$G$J$/!"e(BEncoding.default_external
e$B$K0le(B
e$BCW$5$;$F$*$$$?J}$,%H%i%V%k$,>/$J$$$N$G$O$J$$$+$J$!$H;W$$$^$9!#e(B

e$B$^$?!$$b$7>e5-$N$h$&$JBP1~$H$;$6$k$r$($J$$$J$i!$e(B
Ruby e$B$Ne(B encoding -> Tcl/Tk e$B$Ne(B encoding e$B$NBP1~I=$,I,MW$G$9!%e(B
e$B$3$l$r0BA43N<B$K:n@.$70];}$G$-$k$h$&$K$9$k$?$a$K!$e(B
e$B$&$^$$J}K!$O$J$$$G$7$g$&$+!)e(B

tk_encoding.each do |name|
enc = Encoding.find(name)
puts ‘%s -> %s’ % [enc.to_s, name]
end
e$B$3$l$G:n$l$^$9!#e(B

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: “NARUSE, Yui” [email protected]
Subject: [ruby-dev:33501] Re: e$B8=:_$Ne(B script encoding
e$B$NCM$rF@$kJ}K!$O!)e(B
Date: Tue, 29 Jan 2008 19:51:30 +0900
Message-ID: [email protected]

e$B!Ve(Brequire e$B$7$?%9%/%j%W%H$Ne(B encodinge$B!W$H$$$&35G0$,<B:]$O2?$r;X$7$F$$$ke(B
e$B$+!"$H$$$&$N$O$$=$i$/e(B Ruby 1.9 e$B$K$$1$k0l$D$NO@E@$+$H;W$$$^$9!#$h$/8@$oe(B
e$B$l$k!VFbIt%(%s%3!<%G%#%s%0!W$N$3$H$@$H;W$&$N$G$9$,!"e(BPerl e$B$de(B Java e$B$J$ie(B
UTF-8 e$B$de(B UTF-16 e$B$G7h$^$j$^$9$1$l$I!“e(BRuby 1.9 e$B$Oe(B CSI e$B$J$?$a!“7h$^$i$J$$$Ie(B
e$B$3$m$+!”$=$N$h$&$J0lDj$NFbIt%(%s%3!<%G%#%s%0$,B8:_$7$J$$2DG=@-$b$”$j$^$9!#e(B

e$B$^$D$b$H$5$s$K65$($F$$$?$@$$$?e(B ENCODING
e$B$r;n$7$F$$^$7$?$,!$e(B
require e$B$5$l$?%U%!%$%k$GDj5A$5$l$?%a%=%C%I$+$i8+$?e(B ENCODING
e$B$Oe(B
require e$B40N;8e$KB>=j$+$i8F$P$l$F$b$-$A$s$HJ]$?$l$F$$$^$9$M!%e(B
e$B$*$C$7$c$kDL$j!$!V0lDj$NFbIt%(%s%3!<%G%#%s%0$OB8:
$7$J$$!W$He(B
e$B2r<a$9$kJ}$,NI$$$h$&$G$9!%e(B

e$BM#0l9b$$3NEY$G?dDj$G$-$k$N$,e(B -K e$B$,;XDj$5$l$F$$$k>l9g$G!"$3$l$Oe(B -K e$B$N%(%se(B
e$B%3!<%G%#%s%0$@$H;W$o$l$^$9$,!#e(B

e$B$J$k$[$I!%e(B
e$B$7$+$7!$e(B-K
e$B$,;XDj$5$l$?$+$I$&$+$O%9%/%j%W%HB&$+$i$O$o$+$i$J$$$N$G!$e(B
e$B$3$l$K$h$C$FH=CG$9$k$3$H$O$G$-$J$$$N$,;DG0$G$9!%e(B
e$B$=$l$H$b;d$,K:$l$F$$$k$@$1$G!$F@$kJ}K!$,B8:_$7$?$G$7$g$&$+!)e(B

Tk.encoding_system e$B$O%7%9%F%`0MB8$G$J$/!"e(BEncoding.default_external e$B$K0le(B
e$BCW$5$;$F$*$$$?J}$,%H%i%V%k$,>/$J$$$N$G$O$J$$$+$J$!$H;W$$$^$9!#e(B

e$B@bL@$,B-$j$^$;$s$G$7$?!%e(B
e$B%7%9%F%`$K0MB8$7$?%G%U%)%k%H$Ne(B Tk.encoding_system e$B$Oe(B
e$BDL>o$Oe(B locale e$B$K0MB8$7$F7h$^$j$^$9!%e(B
Encoding.default_external e$B$bDL>o$Oe(B locale e$B0MB8$G7h$^$k$He(B
e$B9M$($F$bNI$+$C$?$G$9$h$M!)e(B
e$B$G$9$N$G!$L@<($,L5$$>l9g$Oe(B Encoding.default_external e$B$He(B
e$BL7=b$7$J$$e(B encoding e$B$,@_Dj$5$l$k$b$N$H9M$($F$$$^$7$?!%e(B

e$B$G$9$,!$e(B-K e$B%%W%7%g%s$N$3$H$b9M$($k$H!$$$C$7$c$kDL$je(B
e$B!VL@<($,$J$1$l$Pe(B tk e$B$re(B require e$B$7$?;~E@$Ne(B
Encoding.default_external e$B$GJV$9$h$&$K@_Dj$5$l$^$9!We(B
e$B$H$9$kJ}K!$b$"$j$J$N$+$b$7$l$^$;$s!%e(B

e$B$G$b!$e(B-E e$B%*%W%7%g%s$,;XDj$5$l$?>l9g$r9M$($k$H!$e(B
Encoding.default_external e$B$K9g$o$;$F$7$^$&$He(B
e$B%9%/%j%W%H>e$Ge(B Tk e$B$+$i$NLaCM$rMxMQe(B (e$BJ8;zNsHf3S$H$+e(B)
e$B$9$k:]$Ke(B
encoding e$B$r>o$K5$$K$7$J$1$l$P$J$i$:!$ITJX$=$&$K46$8$^$9!%e(B

e$B$I$&$9$k$N$,%9%/%j%W%H$r=q$/?M$NIiC4$r:G>.8B$K$9$k$+!$e(B
e$B$b$&>/$79M$($kI,MW$,$"$j$=$&$G$9$M!%e(B

e$BB?J,!$e(BTk.encoding_system e$B$He(B Encoding.default_external

e$B$OB7$($k$,!$e(B

Tk e$B"*e(B Ruby e$B$N<u$1EO$7$Ne(B encoding

e$B$OFHN)$K@_Dj2DG=$H$$$&$h$&$K$Oe(B

e$B$9$k$H;W$$$^$9!%e(B

Tk e$B"*e(B Ruby e$B$N%G%U%)%k%H$^$Ge(B Encoding.default_external

e$B$Ke(B

e$BB7$($F$7$^$&$N$,E,@Z$JH=CG$+$I$&$+$H$$$&OC$G$9!%e(B

e$B$^$?!$$b$7>e5-$N$h$&$JBP1~$H$;$6$k$r$($J$$$J$i!$e(B
Ruby e$B$Ne(B encoding → Tcl/Tk e$B$Ne(B encoding e$B$NBP1~I=$,I,MW$G$9!%e(B
e$B$3$l$r0BA43N<B$K:n@.$70];}$G$-$k$h$&$K$9$k$?$a$K!$e(B
e$B$&$^$$J}K!$O$J$$$G$7$g$&$+!)e(B

tk_encoding.each do |name|
enc = Encoding.find(name)
puts ‘%s → %s’ % [enc.to_s, name]
end
e$B$3$l$G:n$l$^$9!#e(B

e$B$"!$$4$a$s$J$5$$!%e(B
tk e$B$Ne(B encoding e$BL>$K4p$E$$$F!$e(BEncoding.find e$B$r;H$C$Fe(B
e$BD>@\BP1~$9$ke(B encoding e$B$rF@$k$3$H$O$o$+$j$^$9!%e(B
aliase e$B$K$D$$$F$be(B Encoding.aliases e$B$N7k2L$K4p$E$$$Fe(B
e$BBP1~$r8!:w$9$k$h$&$K$9$l$P$J$s$H$+$J$j$=$&$G$9!%e(B

Encoding.aliases e$B$OBP1~4X78$N$"$kA4e(B encoding

e$BL>$rLVMe$7$F$$$k$He(B

e$B9M$($F$$$$$N$G$9$h$M!)e(B

e$B5$$K$7$F$$$?$N$OD>@\BP1~$9$ke(B encoding e$B$G$O$J$/!$e(B
e$B$=$Ne(B replica e$B$,;XDj$5$l$?%1!<%9!$$"$k$$$Oe(B
e$BD>@\BP1~$9$ke(B encoding e$B$H6&DL$Ne(B replica e$B85$r;}$D$b$N$,e(B
e$B;XDj$5$l$?%1!<%9$G$9!%e(B
e$B$=$&$7$?>l9g$K$O!$e(Breplica e$B4X78$+$iD>@\BP1~$9$ke(B encoding
e$B$re(B
e$B8!:w$7$F;XDj$7$J$1$l$P$J$i$J$$$h$&$K;W$&$N$G$9$,!$e(B
e$B$3$N4X78$O%9%/%j%W%H>e$+$i$OD4$Y$h$&$,$J$$$N$G$9$h$M!)e(B
e$B$=$l$H$b!$e(Breplica e$B$KBP$9$k;d$NB*$(J}$,ITE,@Z$G!$e(B
e$B$b$74X78$,$o$+$C$?$H$7$F$b$=$l$rA*Br$7$F$O$J$i$J$$$N$G$7$g$&$+!)e(B

e$BBP1~$G$-$k$b$N$,A4$/B8:_$7$J$$>l9g$Oe(B
UTF-8 e$B$K$9$k$+Nc30$r>e$2$k$+$@$H$O;W$$$^$9$,!%!%!%e(B

e$B$J$+$@$G$9!#e(B

At Wed, 30 Jan 2008 10:19:46 +0900,
Hidetoshi NAGAI wrote in [ruby-dev:33515]:

e$BBP1~$G$-$k$b$N$,A4$/B8:_$7$J$$>l9g$Oe(B
UTF-8 e$B$K$9$k$+Nc30$r>e$2$k$+$@$H$O;W$$$^$9$,!%!%!%e(B

e$B$I$&$;e(BTke$BFbIt$G$O$9$Y$Fe(BUTF-8e$B$J$N$G$"$l$P!"e(BRuby<->Tke$B$N$d$j$H$j$NCJe(B
e$B3,$Ge(BUTF-8e$B$KJQ49$7$F$7$^$&$[$&$,$$$$$s$8$c$J$$$G$7$g$&$+!#e(B

e$B@.@%$G$9!#e(B

Hidetoshi NAGAI wrote:

e$BM#0l9b$$3NEY$G?dDj$G$-$k$N$,e(B -K e$B$,;XDj$5$l$F$$$k>l9g$G!"$3$l$Oe(B -K e$B$N%(%se(B
e$B%3!<%G%#%s%0$@$H;W$o$l$^$9$,!#e(B

e$B$J$k$[$I!%e(B
e$B$7$+$7!$e(B-K e$B$,;XDj$5$l$?$+$I$&$+$O%9%/%j%W%HB&$+$i$O$o$+$i$J$$$N$G!$e(B
e$B$3$l$K$h$C$FH=CG$9$k$3$H$O$G$-$J$$$N$,;DG0$G$9!%e(B
e$B$=$l$H$b;d$,K:$l$F$$$k$@$1$G!$F@$kJ}K!$,B8:_$7$?$G$7$g$&$+!)e(B

e$B$(!<$C$H!“e(BKCODE_CHECKER =”\x80"
e$B$H$+=q$$$?%U%!%$%k$rCV$$$F!"$=$l$rFI$9~e(B
e$B$`$H$+!#e(B-K e$B$,;XDj$5$l$F$$$k$He(B e$B%G%U%)%k%H$Ne(B script
encoding e$B$,M?$($i$l$ke(B
e$B$N$G!"e(BKCODE_CHECKER.encoding e$B$,e(B ASCII-8BIT
e$B0J30$K$J$j$^$9!#B8:
$O$9$k$1e(B
e$B$I!<!"$H$$$&46$8$G$9$M!J$)$#e(B

e$B$G$b!$e(B-E e$B%*%W%7%g%s$,;XDj$5$l$?>l9g$r9M$($k$H!$e(B
Encoding.default_external e$B$K9g$o$;$F$7$^$&$He(B
e$B%9%/%j%W%H>e$Ge(B Tk e$B$+$i$NLaCM$rMxMQe(B (e$BJ8;zNsHf3S$H$+e(B) e$B$9$k:]$Ke(B
encoding e$B$r>o$K5$$K$7$J$1$l$P$J$i$:!$ITJX$=$&$K46$8$^$9!%e(B

-E
e$B$K9g$o$;$FJQ$o$k$Y$-!"$H8@$&<gD%$G$7$?!#FHN)$9$k$Y$-$H8@$&<gD%$b0lM}e(B
e$B$"$k$H$O;W$$$^$9!#e(B

e$B$"!$$4$a$s$J$5$$!%e(B
tk e$B$Ne(B encoding e$BL>$K4p$E$$$F!$e(BEncoding.find e$B$r;H$C$Fe(B
e$BD>@\BP1~$9$ke(B encoding e$B$rF@$k$3$H$O$o$+$j$^$9!%e(B
aliase e$B$K$D$$$F$be(B Encoding.aliases e$B$N7k2L$K4p$E$$$Fe(B
e$BBP1~$r8!:w$9$k$h$&$K$9$l$P$J$s$H$+$J$j$=$&$G$9!%e(B

‘%s -> %s’ % [enc.to_s, name]
e$B$H$J$C$F$$$k$H$3$m$K0U?^$,$"$C$F!"<B:]$Oe(B
Ruby e$BB&$Ne(B encoding e$B$+$ie(B Tk e$BB&$Ne(B encoding
e$B$K$A$c$s$H$J$C$F$$$^$9!#e(B

r2t_table = {}
tk_encoding.each do |name|
enc = Encoding.find(name)
r2t_table[enc] = name
end

def rubyenc2tkenc(name)
r2t_table[Encoding.find(name)]
end

e$B$3$l$G!"e(Balias e$B$b9MN8$7$Fe(B Ruby e$B$Ne(B encoding name
e$B$+$ie(B tk e$B$Ne(B encoding name
e$B$,<h$l$^$9!#e(B

Encoding.aliases e$B$OBP1~4X78$N$"$kA4e(B encoding e$BL>$rLVMe$7$F$$$k$He(B

e$B9M$($F$$$$$N$G$9$h$M!)e(B

e$BLVMe$7$F$$$J$+$C$?$i%P%0$J$N$G65$($F$/$@$5$$!#;d$N5$IU$$$?HO0O$G$OLVMe$5e(B
e$B$;$F$$$k$O$:$G$9!#e(B

e$B5$$K$7$F$$$?$N$OD>@\BP1~$9$ke(B encoding e$B$G$O$J$/!$e(B
e$B$=$Ne(B replica e$B$,;XDj$5$l$?%1!<%9!$$"$k$$$Oe(B
e$BD>@\BP1~$9$ke(B encoding e$B$H6&DL$Ne(B replica e$B85$r;}$D$b$N$,e(B
e$B;XDj$5$l$?%1!<%9$G$9!%e(B
e$B$=$&$7$?>l9g$K$O!$e(Breplica e$B4X78$+$iD>@\BP1~$9$ke(B encoding e$B$re(B
e$B8!:w$7$F;XDj$7$J$1$l$P$J$i$J$$$h$&$K;W$&$N$G$9$,!$e(B
e$B$3$N4X78$O%9%/%j%W%H>e$+$i$OD4$Y$h$&$,$J$$$N$G$9$h$M!)e(B
e$B$=$l$H$b!$e(Breplica e$B$KBP$9$k;d$NB*$(J}$,ITE,@Z$G!$e(B
e$B$b$74X78$,$o$+$C$?$H$7$F$b$=$l$rA*Br$7$F$O$J$i$J$$$N$G$7$g$&$+!)e(B

e$B$($’!“4X78$,$”$C$?$H$7$F$b$=$l$rABr$7$F$O$J$j$^$;$s!#e(Breplica
e$B4X78$G$O4pe(B
e$BK\E
$Ke(B CES e$B$K$D$$$F$7$+8+$F$$$^$;$s$+$i!"F1$8e(B CES
e$B$G$bA4$/0c$&J8;z=89g$,e(B
e$BF~$C$F$$$k>l9g$K$O$&$^$/$$$+$J$/$J$j$^$9!#e(B

e$B0l1~Cm0U$9$l$Pe(B replica e$B4X78$Ge(B fallback
e$B$r9=@.$9$k$3$H$O2DG=$@$H$O;W$&$Ne(B
e$B$G$9$,!"A4$F$Ne(B encoding
e$B$rCN$C$F$$$k$o$1$G$b$J$$$N$G!“8=;~E@$G$=$&$$$C$?e(B
e$B5!9=$r4|BT$5$;$F$7$^$&$N$O4m81$@$H46$8$F$$$^$9!#$^$?!”$h$&$Oe(B(chr)1000
e$B$_e(B
e$B$?$$$J%-%c%9%H$r$d$C$F$$$k$3$H$KB>$J$i$J$$$N$G!“L@<(E*$K;XDj$7$F$[$7$$e(B
e$B$J$!$H$$$&;W$$$b$”$j$^$9!#e(B

e$B8=;~E@$G$Ne(B replica e$B$O!"$"$/$^$Ge(B encoding
e$Be$NET9g$G!"%f!<%6$,8+$k$be(B
e$B$N$G$O$J$$!"$H$$$&$3$H$K$J$C$F$$$k$H;W$$$^$9!#e(B

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: Nobuyoshi N. [email protected]
Subject: [ruby-dev:33517] Re: e$B8=:_$Ne(B script encoding
e$B$NCM$rF@$kJ}K!$O!)e(B
Date: Wed, 30 Jan 2008 11:25:38 +0900
Message-ID: [email protected]

e$B$I$&$;e(BTke$BFbIt$G$O$9$Y$Fe(BUTF-8e$B$J$N$G$"$l$P!"e(BRuby<->Tke$B$N$d$j$H$j$NCJe(B
e$B3,$Ge(BUTF-8e$B$KJQ49$7$F$7$^$&$[$&$,$$$$$s$8$c$J$$$G$7$g$&$+!#e(B

e$B$($(!$e(BRuby → Tk e$B$O$9$Y$Fe(B UTF-8
e$B$K<+F0E*$KJQ49$7$F$+$iEO$7$F$^$9!%e(B
e$B$G$9$,!$e(BTk → Ruby e$B$N>l9g$K$9$Y$Fe(B UTF-8
e$B$GLa$7$F$7$^$&$H!$e(B
e$B%9%/%j%W%H$r=q$/B&$OKhEYe(B encoding e$BJQ49$r0U<1$7$?$je(B
e$BL@<($7$?$j$;$M$P$J$i$:!$ITJX$@$H;W$&$N$G$9!%e(B
e$B=q$+$:$K:Q$`$b$N$J$i$=$l$G:Q$^$;$?$$$G$9$h$M!%e(B

e$B2aJ]8n$G$9$+$M!)e(B

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: “NARUSE, Yui” [email protected]
Subject: [ruby-dev:33516] Re: e$B8=:_$Ne(B script encoding
e$B$NCM$rF@$kJ}K!$O!)e(B
Date: Wed, 30 Jan 2008 11:23:38 +0900
Message-ID: [email protected]

e$B$(!<$C$H!“e(BKCODE_CHECKER =”\x80" e$B$H$+=q$$$?%U%!%$%k$rCV$$$F!“$=$l$rFI$9~e(B
e$B$`$H$+!#e(B-K e$B$,;XDj$5$l$F$$$k$He(B e$B%G%U%)%k%H$Ne(B script encoding e$B$,M?$($i$l$ke(B
e$B$N$G!"e(BKCODE_CHECKER.encoding e$B$,e(B ASCII-8BIT e$B0J30$K$J$j$^$9!#B8:
$O$9$k$1e(B
e$B$I!<!”$H$$$&46$8$G$9$M!J$)$#e(B

e$B$=$l$O$“$^$j$H$$$($P$”$s$^$j$J!%e(B(^_^;

r2t_table[Encoding.find(name)]
end

e$B$3$l$G!"e(Balias e$B$b9MN8$7$Fe(B Ruby e$B$Ne(B encoding name e$B$+$ie(B tk e$B$Ne(B encoding name
e$B$,<h$l$^$9!#e(B

e$B$"$!!$$=$&$G$9$M!%e(B
e$B$D$$$D$$J8;zNs$G$NL>A0$+$iD>@\0z$/$3$H$r9M$($F$7$^$C$F$^$7$?!%e(B
Encoding.find e$B$G$-$A$s$He(B Encoding object
e$B$K$7$F0z$1$P$$$$$@$1$G$7$?!%e(B
e$B$*CQ$:$+$7$$!%e(B

e$B$=$l$O$=$l$H$7$F!$e(BTcl/Tk8.4 on Linux e$B$G$Ne(B encoding names
e$B$Ge(B
e$BF@$i$l$k$b$N$KBP$7$F<B9T$9$k$H!$0J2<$N$b$N$Ge(B
e$BBP1~$9$k$b$N$,8+$D$+$i$:$KNc30$,@8$8$^$9!%e(B


X11ControlChars
cp153
dingbats
ebcdic
gb12345
gb2312-raw
gb2312
identity
iso2022
iso2022-kr
jis0201
jis0208
jis0212
ksc5601
macDingbats
shiftjis
symbol
ucs-2be
unicode

ebcdic e$B$N$h$&$KEvLL$OHsBP1~$H$J$C$F$$$k$b$N$d!$e(B
X11ControlChars e$B$de(B symbol e$B$N$h$&$Ke(B
ASCII-8BIT e$B$K$9$k$7$+$J$5$=$&$J$b$N$b$“$j$^$9$,!$e(B
shiftjis e$B$N$h$&$KBP1~$7$F$*$$$?J}$,$h$5$=$&$J$b$N$b$”$j$^$9!%e(B

e$B$"$H!$%a%=%C%IL>$H$+$Ge(B *utf8

e$B$H$+$N$h$&$K%O%$%U%s$J$7$J$N$,B?$$$N$G!$e(B

encoding e$B$N;XDj$G$be(B utf8

e$B$H%O%$%U%s$rK:$l$F=q$$$F$7$^$&$3$H$b!%e(B(^_^;

e$B$=$l$H$b!$e(Breplica e$B$KBP$9$k;d$NB*$(J}$,ITE,@Z$G!$e(B
e$B$b$74X78$,$o$+$C$?$H$7$F$b$=$l$rA*Br$7$F$O$J$i$J$$$N$G$7$g$&$+!)e(B

e$B$($'!“4X78$,$”$C$?$H$7$F$b$=$l$rABr$7$F$O$J$j$^$;$s!#e(Breplica e$B4X78$G$O4pe(B
e$BK\E
$Ke(B CES e$B$K$D$$$F$7$+8+$F$$$^$;$s$+$i!"F1$8e(B CES e$B$G$bA4$/0c$&J8;z=89g$,e(B
e$BF~$C$F$$$k>l9g$K$O$&$^$/$$$+$J$/$J$j$^$9!#e(B

e$B$o$+$j$^$7$?!%$"$j$,$H$&$4$6$$$^$9!%e(B

e$B@.@%$G$9!#e(B

Hidetoshi NAGAI wrote:

e$B$=$l$O$=$l$H$7$F!$e(BTcl/Tk8.4 on Linux e$B$G$Ne(B encoding names e$B$Ge(B
e$BF@$i$l$k$b$N$KBP$7$F<B9T$9$k$H!$0J2<$N$b$N$Ge(B
e$BBP1~$9$k$b$N$,8+$D$+$i$:$KNc30$,@8$8$^$9!%e(B

ebcdic e$B$N$h$&$KEvLL$OHsBP1~$H$J$C$F$$$k$b$N$d!$e(B
X11ControlChars e$B$de(B symbol e$B$N$h$&$Ke(B
ASCII-8BIT e$B$K$9$k$7$+$J$5$=$&$J$b$N$b$"$j$^$9$,!$e(B
shiftjis e$B$N$h$&$KBP1~$7$F$*$$$?J}$,$h$5$=$&$J$b$N$b$"$j$^$9!%e(B

e$B$($C$H!"e(B

X11ControlChars
dingbats
ebcdic
identity
macDingbats
symbol

e$B$^$:!"$3$l$OI,MW$@$C$?$ie(B dummy e$B$rDj5A$7$F$/$@$5$$!#e(B

iso2022
iso2022-kr

e$B$3$l$b%9%F!<%H%U%k$J$N$Ge(B dummy e$B$K$7$F$/$@$5$$!#e(B

gb2312

e$B$3$l$O?tF|A0$K%5%]!<%H$7$^$7$?!#e(B

gb12345

e$B$3$l$Oe(B GB2312 e$B$Ne(B replica
e$B$G$$$$$N$+$J!&!&!&$=$&$7$F$*$-$^$9!#e(B

gb2312-raw
jis0201
jis0208
jis0212
ksc5601

e$B$3$l$O@8$N%G!<%?$N$O$:$J$N$G$9$,!"$&!<$s!&!&!&!#e(BJIS X 0212
e$B$J$s$+C1BNe(B
e$B$8$c5!G=$7$J$$$O$:$G$9$7!"2?$N$?$a$KB8:_$9$k$N$+J,$+$i$J$$$N$GJ]N1$G!#8=e(B
e$B;~E@$G$Oe(B ASCII-8BIT e$B$+!<!&!&!&e(B2e$B%P%$%H8GDj$J$N$+$J$!!#e(B

e$B<B:]$K$I$s$JCf?H$J$N$+$N>pJs$,$"$C$?$i65$($F$/$@$5$$!#e(B

ucs-2be
unicode

UCS-2BE e$B$Oe(B UTF-16BE e$B$Ne(B alias e$B$K$7$H$-$^$9!#e(B
unicode e$B$Oe(B UTF-16LE
e$B$N$3$H$@$H;W$&$N$G$9$,!"$A$g$C$H$3$l$rK\BN$G%5%]!<%He(B
e$B$9$k$N$O$?$a$i$o$l$k$N$Ge(B Tk e$BB&$G$d$C$F$/$@$5$$$^$7!#e(B

cp153

e$B$3$l$O$6$C$H$0$0$C$F=P$F$3$J$+$C$?$N$G8e$G2~$a$FD4$Y$^$9!#e(B

shiftjis

e$B$"$H!$%a%=%C%IL>$H$+$Ge(B *utf8 e$B$H$+$N$h$&$K%O%$%U%s$J$7$J$N$,B?$$$N$G!$e(B

encoding e$B$N;XDj$G$be(B utf8 e$B$H%O%$%U%s$rK:$l$F=q$$$F$7$^$&$3$H$b!%e(B(^_^;

e$B$&!<$s!"$3$l$OB>$NJ}$N0U8+$bJ9$$$F$_$?$$$G$9!#3N$+$Ke(B oneliner
e$B$Ge(B utf8 e$B$He(B
e$B$+=q$-$?$/$J$k$3$H$O$"$k$s$G$9$1$I$M!#e(B

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: “NARUSE, Yui” [email protected]
Subject: [ruby-dev:33522] Re: e$B8=:_$Ne(B script encoding
e$B$NCM$rF@$kJ}K!$O!)e(B
Date: Wed, 30 Jan 2008 14:43:29 +0900
Message-ID: [email protected]

cp153

e$B$3$l$O$6$C$H$0$0$C$F=P$F$3$J$+$C$?$N$G8e$G2~$a$FD4$Y$^$9!#e(B

e$B$4$a$s$J$5$$!*e(B e$B$3$l!$e(B"cp1253" e$B$G$7$?e(B
e$BJ8;zNs$r%3%T!<$7$?$H$-$K$J$<$+7gMn$7$?$_$?$$$G$9!%e(B
e$B$7$?$,$C$F!$e(Bcp153 e$B$J$s$F$b$N$O$“$j$^$;$s$G$7$?!%e(B
e$B?=$7Lu$”$j$^$;$s!%$3$NJ,$OL5;k$7$F$/$@$5$$!%e(B

In article [email protected],
“NARUSE, Yui” [email protected] writes:

gb12345

e$B$3$l$Oe(B GB2312 e$B$Ne(B replica e$B$G$$$$$N$+$J!&!&!&$=$&$7$F$*$-$^$9!#e(B

[ruby-dev:33080] e$B$r=q$$$?$H$-$KD4$Y$?$N$G$9$,!"$*$=$i$/!"e(B
jis0208 e$B$de(B jis0212 e$B$H$+$HF1$8$h$&$J46$8$N$b$N$@$H;W$$$^$9!#e(B

e$B@.@%$G$9!#e(B

Tanaka A. wrote:

In article [email protected],
“NARUSE, Yui” [email protected] writes:

gb12345
e$B$3$l$Oe(B GB2312 e$B$Ne(B replica e$B$G$$$$$N$+$J!&!&!&$=$&$7$F$*$-$^$9!#e(B

[ruby-dev:33080] e$B$r=q$$$?$H$-$KD4$Y$?$N$G$9$,!"$*$=$i$/!"e(B
jis0208 e$B$de(B jis0212 e$B$H$+$HF1$8$h$&$J46$8$N$b$N$@$H;W$$$^$9!#e(B

GB2312
e$B$rHKBN;z$K$7$?J8;z=89g$i$7$$$N$G$9$,!"$3$3$G8@$C$F$$$k!Ve(BGB12345e$B!We(B
e$B$,$=$NJ8;z=89g$re(B EUC-CN
e$B$G%(%s%3!<%I$7$?$N$+@8$J$N$+$,$o$+$i$J$$$N$G$9$he(B
e$B$M$'!#e(B

In article [email protected],
Tanaka A. [email protected] writes:

GB2312 e$B$rHKBN;z$K$7$?J8;z=89g$i$7$$$N$G$9$,!"$3$3$G8@$C$F$$$k!Ve(BGB12345e$B!We(B
e$B$,$=$NJ8;z=89g$re(B EUC-CN e$B$G%(%s%3!<%I$7$?$N$+@8$J$N$+$,$o$+$i$J$$$N$G$9$he(B
e$B$M$'!#e(B

e$B$*$=$i$/!"@8$G$9!#e(B

e$B$;$C$+$/$J$N$G;n$7$F$_$^$7$?!#e(B

UTF-8 e$B$J4D6-$G!"0J2<$N$h$&$Ke(B HIRAGANA LETTER A e$B$J$I$,e(B ASCII
e$BJ8;z$H$7$F=P$F$-$^$9!#e(B(gb2312 e$B$K$O$R$i$,$J$bF~$C$F$$$k$N$G!"e(B
gb12345 e$B$K$bF~$C$F$$$k$N$G$7$g$&e(B)

% tclsh
% encoding convertto gb12345 e$B$"$$$&$($e(B
$"$$$&$($

encoding convertto e$B$O7k2L$re(B ISO-8859-1
e$B$JJ8;zNs$H$9$k$h$&$G!"e(B
gb12345 e$B$NItJ,$re(B euc-jp e$B$K$9$k$H!"e(B0xa4 e$B$KBP1~$9$ke(B
CURRENCY
SIGN e$B$J$I$,I=<($5$l$^$9!#e(B

e$B$^$?!"e(BASCIIe$BJ8;z$rM?$($k$H2=$1$^$9!#e(B

% encoding convertto gb12345 abcd
#?#?#?#?

e$B$H$$$&$o$1$G!"$d$C$Q$j@8$G$9!#e(B

e$B@.@%$G$9!#e(B

Tanaka A. wrote:

e$B$H$$$&$o$1$G!"$d$C$Q$j@8$G$9!#e(B

e$B$U!<$`!"$J$k$[$I!#e(B
e$B$3$&$$$&$N$O$I$&$7$^$7$g$&$+$M$’!#e(B
16bit
e$B8GDj$N%(%s%3!<%G%#%s%0$r:n$k$H$$$&<j$b2DG=$G$O$"$k$1$l$I!"e(Bdummy
e$B$Ne(B
e$BJ}$,$$$$$N$+$J$!!#e(B

In article [email protected],
“NARUSE, Yui” [email protected] writes:

e$B$3$&$$$&$N$O$I$&$7$^$7$g$&$+$M$'!#e(B
16bit e$B8GDj$N%(%s%3!<%G%#%s%0$r:n$k$H$$$&<j$b2DG=$G$O$"$k$1$l$I!"e(Bdummy e$B$Ne(B
e$BJ}$,$$$$$N$+$J$!!#e(B

locale encoding e$B$K$O$J$i$J$$$N$G$=$b$=$bITMW$J$h$&$K;W$&$s$Ge(B
e$B$9$,!“I,MW$J$3$H$C$F$”$k$s$G$7$?$C$1e(B?

In article [email protected],
“NARUSE, Yui” [email protected] writes:

GB2312 e$B$rHKBN;z$K$7$?J8;z=89g$i$7$$$N$G$9$,!"$3$3$G8@$C$F$$$k!Ve(BGB12345e$B!We(B
e$B$,$=$NJ8;z=89g$re(B EUC-CN e$B$G%(%s%3!<%I$7$?$N$+@8$J$N$+$,$o$+$i$J$$$N$G$9$he(B
e$B$M$'!#e(B

e$B$*$=$i$/!"@8$G$9!#e(B

tcl8.5.0 e$B$Ne(B library/encoding/gb12345.enc e$B$He(B
library/encoding/jis0208.enc e$B$de(B
library/encoding/gb2312.enc e$B$rHf3S$7$F!“$$$/$i$+A[A|NO$rF/$+e(B
e$B$;$k$H!”@8$@$H;d$O9M$($^$7$?!#e(B

e$B@.@%$G$9!#e(B

Tanaka A. wrote:

In article [email protected],
“NARUSE, Yui” [email protected] writes:

e$B$3$&$$$&$N$O$I$&$7$^$7$g$&$+$M$'!#e(B
16bit e$B8GDj$N%(%s%3!<%G%#%s%0$r:n$k$H$$$&<j$b2DG=$G$O$"$k$1$l$I!"e(Bdummy e$B$Ne(B
e$BJ}$,$$$$$N$+$J$!!#e(B

locale encoding e$B$K$O$J$i$J$$$N$G$=$b$=$bITMW$J$h$&$K;W$&$s$Ge(B
e$B$9$,!“I,MW$J$3$H$C$F$”$k$s$G$7$?$C$1e(B?

e$B$?$7$+e(B GNU libiconv
e$B$b$3$N<j$N@8%G!<%?$KBP1~$7$F$$$?5$$,$9$k$N$G!“e(Blocale
encoding
e$B$K$O$J$i$J$/$H$b!”$J$K$+$7$iK\BN$G07$&%K!<%:$,B8:_$9$k$N$+$J$!e(B
e$B$H!#e(BISO 2022
e$B$r$P$i$7$F8DJL$KJQ49$9$k$H$-$H$+$GC!$$$F$k$@$1$H$+$J$i!“;He(B
e$B$&;~$K<+J,$Ge(B dummy e$B$K$7$F$M!”$G$$$$$N$G$9$,!#e(B

In article [email protected],
“NARUSE, Yui” [email protected] writes:

e$B$?$7$+e(B GNU libiconv e$B$b$3$N<j$N@8%G!<%?$KBP1~$7$F$$$?5$$,$9$k$N$G!“e(Blocale
encoding e$B$K$O$J$i$J$/$H$b!”$J$K$+$7$iK\BN$G07$&%K!<%:$,B8:_$9$k$N$+$J$!e(B
e$B$H!#e(BISO 2022 e$B$r$P$i$7$F8DJL$KJQ49$9$k$H$-$H$+$GC!$$$F$k$@$1$H$+$J$i!“;He(B
e$B$&;~$K<+J,$Ge(B dummy e$B$K$7$F$M!”$G$$$$$N$G$9$,!#e(B

e$B$=$l$O%K!<%:$,H=L@$7$F$+$i$G$$$$$N$G$O!#e(B

e$B$"$H!"e(BASCII e$BHs8_49$J%(%s%3!<%G%#%s%0$O$7$P$i$/e(B UTF-16
e$B$G7P83e(B
e$B$r$D$s$@$[$&$,$$$$$N$G$O$J$$$+$H;W$C$F$$$^$9!#e(B

test_utf16.rb e$B$,$$$/$D$+<:GT$7$F$$$k$h$&$K!“$A$c$s$H07$($k$oe(B
e$B$1$G$O$”$j$^$;$s$+$i!#e(B

e$B$G$b!“e(Bgb12345 e$B$H$+$@$He(B ASCII e$BJ8;z$b$J$$$+$ie(B UTF-16
e$B$H$O0[$Je(B
e$B$kLq2p$5$b$”$C$F6=L#?<$$$+$J!#e(BASCII e$BJ8;z$,$J$$$H$$$&E@$G$Oe(B
BINARY e$B$NLq2p$5$H$b=E$J$j$^$9$M!#e(B

e$B@.@%$G$9!#e(B

Tanaka A. wrote:

In article [email protected],
“NARUSE, Yui” [email protected] writes:

e$B$?$7$+e(B GNU libiconv e$B$b$3$N<j$N@8%G!<%?$KBP1~$7$F$$$?5$$,$9$k$N$G!“e(Blocale
encoding e$B$K$O$J$i$J$/$H$b!”$J$K$+$7$iK\BN$G07$&%K!<%:$,B8:_$9$k$N$+$J$!e(B
e$B$H!#e(BISO 2022 e$B$r$P$i$7$F8DJL$KJQ49$9$k$H$-$H$+$GC!$$$F$k$@$1$H$+$J$i!“;He(B
e$B$&;~$K<+J,$Ge(B dummy e$B$K$7$F$M!”$G$$$$$N$G$9$,!#e(B

e$B$=$l$O%K!<%:$,H=L@$7$F$+$i$G$$$$$N$G$O!#e(B

e$B$=$&$G$9$M!#e(B

e$B$"$H!"e(BASCII e$BHs8_49$J%(%s%3!<%G%#%s%0$O$7$P$i$/e(B UTF-16 e$B$G7P83e(B
e$B$r$D$s$@$[$&$,$$$$$N$G$O$J$$$+$H;W$C$F$$$^$9!#e(B

test_utf16.rb e$B$,$$$/$D$+<:GT$7$F$$$k$h$&$K!“$A$c$s$H07$($k$oe(B
e$B$1$G$O$”$j$^$;$s$+$i!#e(B

e$B$G$b!“e(Bgb12345 e$B$H$+$@$He(B ASCII e$BJ8;z$b$J$$$+$ie(B UTF-16 e$B$H$O0[$Je(B
e$B$kLq2p$5$b$”$C$F6=L#?<$$$+$J!#e(BASCII e$BJ8;z$,$J$$$H$$$&E@$G$Oe(B
BINARY e$B$NLq2p$5$H$b=E$J$j$^$9$M!#e(B

e$B0lJ}$G%5%m%2!<%H%Z%“$b$J$/!“40A4e(B 2
e$B%P%$%H8GDj$H$$$&$”$?$j!”$“$k<oe(B UTF-16
e$B$h$j%7%s%W%k$J5$$b$7$?$N$G$9$,!”%K!<%:$,$J$$$H;H$C$F$/$l$J$/$F%F%9%H$K$Je(B
e$B$i$J$5$=$&$H$$$&$N$,%M%C%/$G$9$+$M$'!#e(B