Binary String

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

e$B$D$^$j!“e(B
1-04-87 <304B, 309A> # [HIRAGANA LETTER BIDAKUON NGA]
e$B$N>l9g$J$i!“e(B”\u304B\u309A”[1] => 0x309A e$B$G!#e(B

e$B$“$-$i$a$k$N$G$”$l$P!"$=$&$7$F$b$$$$$G$7$g$&$M!#e(B

e$B$“$-$i$a$J$$$N$G$”$l$P!":$$j$^$9!#e(B

Ruby e$B$O$“$-$i$a$k$s$G$7$g$&$+!”$H$$$&$H$3$m$,LdBj$G$7$g$&$+!#e(B

At 10:54 08/01/23, NARUSE, Yui wrote:

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

Yukihiro M. wrote:

|# e$B8D?ME*$K$OJ8;z$r<h$j=P$9$N$Oe(B str[i,1] e$B$G$G$-$k$N$G!"e(B
|# str[i] e$B$O%3!<%I%]%$%s%H$rJV$9$^$^$G$h$+$C$?$H;W$&$s$G$9$1$I$M$'!#e(B

e$B$&!"$=$l$O$=$&$J$N$+$b$7$l$^$;$s!#<jCY$l$G$9$,!#e(B

e$B0lG/0J>eA0$K;W$$$D$$$F$+$i:rF|$^$GK:$l$F$?$s$G$9$h$M!"$3$l!#e(B
e$B$b$&>/$7Aa$/;W$$=P$;$PDs0F$7$?$N$G$9$,!#e(B

e$B3N$+$K$=$&$$$&$d$jJ}$b$"$j$^$9$,!“A4$F$N%k%S%W%m%0%i%`$r$$F!"e(B
string[i] e$B$GJ8;z$rJV$7$FM
$7$$$H?t;z$rJV$7$FM_$7$$>l9g$r$_$k$H!“e(B
e$BA0<T$,B?$$$N$G$O$J$$$+$H;W$$$^$9!#$=$b$=$b?t;z$K$9$k$HJ8;z$Ne(B
e$BId9f2=$,<:$o$l$F$7$^$C$F!”?'!9JQ$K$J$k$3$H$b$”$j$&$k!#e(B
e$B$=$&$$$&0UL#$G$O7h$7$F8e2y$7$J$/$F$$$$$H;W$$$^$9!#e(B

|String#[]= Integer e$B$O%Q%C%A=q$$$?$3$H$,$“$j$^$9$,!”$$$^$$$A<u$1$,0-$$$_e(B
|e$B$?$$!#e(BString#bytes[]= e$B$H$+$NJ}8~$K$J$C$F$$$/$N$G$9$+$M$'!#e(B

e$B<u$1$,0-$$$G$9$+!#$^$"!"e(BString#[]e$B$,J8;zNs$rJV$9$s$GHsBP>N$Ke(B
e$B$J$C$F$7$^$$$^$9$+$i$M$(!#e(B

e$B$“!”<u$1$C$F$^$D$b$H$5$s$X$N!J$)e(B
String#[]= Integer e$B$7$?$$$C$FOC$O$A$i$[$i$"$j$^$9$M!#e(B
[ruby-dev:33229] e$B$,7o$N%Q%C%A$G$9!#e(B

e$BA4It$N%a!<%k$r:Y$+$/FI$s$@$o$1$G$O$J$$$,!"<u$1$,0-$$$H$O;W$$$^$;$s$7!"e(B
e$B$=$N$^$^:NMQ$7$F$b$$$$$H;W$$$^$9!#e(B

e$B59$7$/$*4j$$$7$^$9!#e(B Martin.

#-#-# Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University
#-#-# http://www.sw.it.aoyama.ac.jp mailto:[email protected]

At 12:32 08/01/23, you wrote:

e$B$_$J$5$s$O$I$&;W$$$^$9!)e(B e$B;d$OHsBP>N@-$,5$$K$J$k$N$G!"e(B

  • b=s.bytes; b[1] = b[1]+1
  • s.byte(1)=s.byte(1)+1
  • s.set_byte(1,s.byte(1)+1)

e$B$N$h$&$J$N$,$$$$$+$J$"$H;W$C$F$^$9$,!#e(B

e$B8D?ME*$K$Oe(B
s[1]= s.get_byte(1)+1
e$B$H$+e(B
s[1]= s.byte(1)+1
e$B$H$+$,$$$$$H;W$$$^$9!#e(B
s.set_byte(1, s.get_byte(1)+1)
e$B$H$+e(B
s.set_byte(1, s.byte(1)+1)
e$B$b5v$7$F$$$$$+$H;W$$$^$9!#e(B

[] e$B$NLdBj$O!"$3$N>l9g!“e(BRuby e$B$Ne(B += e$B$NDj5A>e!“e(B
s[1] += 1
e$B$O=q$-$?$/$J$k$,!”=q$1$J$$!”$H$$$&$3$H$G$7$g$&!#e(B

e$B59$7$/$*4j$$$7$^$9!#e(B Martin.

#-#-# Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University
#-#-# http://www.sw.it.aoyama.ac.jp mailto:[email protected]

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

Martin D. wrote:

e$B$H$+e(B
s[1]= s.byte(1)+1
e$B$H$+$,$$$$$H;W$$$^$9!#e(B
s.set_byte(1, s.get_byte(1)+1)
e$B$H$+e(B
s.set_byte(1, s.byte(1)+1)
e$B$b5v$7$F$$$$$+$H;W$$$^$9!#e(B

e$B$&!"$&!<$s!"$A$g$C$H>iD9$J$h$&$J!#e(B

[] e$B$NLdBj$O!"$3$N>l9g!“e(BRuby e$B$Ne(B += e$B$NDj5A>e!“e(B
s[1] += 1
e$B$O=q$-$?$/$J$k$,!”=q$1$J$$!”$H$$$&$3$H$G$7$g$&!#e(B

e$B$"$"$"!"$=$&$G$9$M!“e(Bs[1] += 1
e$B$d$j$?$/$J$j$^$9$M!”$d$k$K$O!!e(B"a" + 1 e$B$r5ve(B
e$B$5$J$$$H!&!&!&$&!<$s!&!&!&HyL/$+$b!#!#!#e(B

e$B$=$&$$$($P$U$H;W$$$D$$$?$N$G$9$,!“e(B"hoge”.(1)
e$B$C$F$I$&$G$9$+!#$3$N%(%-%;e(B
e$B%s%H%j%C%/$5$,$J$s$H$b%P%$%J%j;2>H$H%^%C%A$9$k$h$&$K;W$&$N$G$9$,!#e(B

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

From: “NARUSE, Yui” [email protected]
Subject: [ruby-dev:33285] Re: Binary String
Date: Wed, 23 Jan 2008 03:52:12 +0900
Message-ID: [email protected]

e$B;v<Be(B Marshal e$B$N%1!<%9$G$O!$2?$H$+BP:v$9$k$?$a$Ke(B
e$B%i%$%V%i%j$K<j$rF~$l$6$k$rF@$J$+$C$?$o$1$G$9$h$M!)e(B

e$B8e=R$7$^$9$,!"8=CJ3,$G$O<j$rF~$l$F$^$;$s$M!#e(B

e$B$"!$$4$a$s$J$5$$!%$3$3$Ge(B Marshal e$B$N%1!<%9$OITE,@Z$G$7$?!%e(B
encoding e$B$r%$%s%9%?%s%9JQ?t$G;}$?$;$k$h$&$KJQ99$7$?E@$O!$e(B
e$BJ8L.$H$7$F$O4X78$J$$$G$9$M!%e(B

e$B0l5AE*$K$O%i%$%V%i%jB&$re(B 1.9 e$BBP1~$5$;$k$N$,%Y%9%H$J$o$1$G$9$,!“%i%$%V%ie(B
e$B%jB&$K<j$rF~$l$i$l$J$$$3$H$,A0Ds$J$i$Pe(B [ruby-dev:33269] e$B$N$h$&$Ke(B e$BESCf$Ge(B
force_encoding e$B$7$?$j!”%*%V%8%'%/%H$r<u$1<h$C$F$+$ie(B force_encoding e$B$9$le(B
e$B$P$$$$$G$7$g$&!#e(B1.8 e$BHsBP1~$J$N$O$o$+$C$F$$$k$N$@$+$i!“;H$&B&$,e(B
force_encoding e$B$9$l$P$$$$$h$M!”$H!#e(B

e$B$$$(!$JV$5$l$F$7$^$C$?8e$G$O$9$G$K<jCY$l$+$b$7$l$J$$$G$9!%e(B
1.8 e$B$G$Oe(B $KCODE e$B$H$+$b$"$j$^$7$?$+$i!$$=$&$7$?>pJs$K4p$E$$$Fe(B
e$BFbIt$G2?$i$+$N=hM}$r9T$C$F$$$k$+$b$7$l$^$;$s!%e(B
e$B$7$+$7$=$&$7$?=hM}$re(B 1.9 e$B$G<B9T$7$?$H$-$K$Oe(B
1.9 e$B$N%a%=%C%I$,;H$o$l$F$7$^$&$o$1$G!$e(B
e$BJV$5$l$F$+$i$Ne(B force_encoding e$B$G$O4V$K9g$$$^$;$s!%e(B

e$B$G$9$N$G!$;d$K$Oe(B

e$B<c43$3$3$N2>Dj$,$*$+$7$$$h$&$K;W$$$^$9!#$=$N!V<j$NFO$+$J$$%i%$%V%i%jFbe(B
e$BIt!W$O$9$Y$Fe(B encoding e$BHsBP1~$J$N$G!"e(Bencoding e$B$,@_Dj$5$l$F$$$kI,MW$O$J$$e(B
e$B$G$7$g$&!#e(Bencoding e$B$,I,MW$K$J$k$N$O<j$,FO$/$H$3$m$^$GMh$F$+$i$G$9$+$i!“e(B
e$B$=$3$G@_Dj$7$F$”$l$P$h$N$G$9!#e(B

e$B$G$O==J,$H$O;W$($J$$$G$9!%e(B

e$B!V$G$O$=$&$$$&%i%$%V%i%j$OD|$a$F$/$@$5$$!W$,e(B
Ruby 1.9 e$B$J$N$+$b$7$l$^$;$s$,!%!%!%e(B

e$B$3$l$^$G$O!$e(B Ruby e$B$C$F!$$"$kDxEY$N$$$$2C8:$5$r5vMF$9$ke(B

e$BBkMH$5$,$"$k$h$&$Ke(B (e$BL%NO$N$R$H$D$H$7$Fe(B)

e$B46$8$F$^$7$?$,!$e(B

1.9 (e$B$Ne(B encoding) e$B$G$O$=$l$r5v$5$J$$J70O5$$,$"$j$^$9$M!%e(B

e$B$^$!!$$3$l$OK\Ev$K!V46>pE*!W$J$b$N$G$9$,!%e(B(^_^)

e$B$“$H$O!”%i%$%V%i%j$K%V%m%C%/$rEO$9$J$j$7$F%i%$%V%i%jCf$G=hM}$9$k$+!"%*%Ve(B
e$B%8%'%/%H$r<u$1<h$C$F$+$i@_Dj$9$k$+$9$l$P!#e(B

e$B$(!A$C$H!$$=$l$C$F!V%i%$%V%i%jB&$K<j$rF~$l$k!W$C$F$3$H$G$9$h$M!%e(B
e$B>e5-$N!V%i%$%V%i%jB&$K<j$rF~$l$i$l$J$$$3$H$,A0Ds$J$i$Pe(B
e$B!W$H$Oe(B
e$BL7=b$7$F$7$^$$$^$;$s$+!%e(B(^_^;

encoding e$BHsBP1~$N%i%$%V%i%j$,JV$7$F$-$?;~E@$GI,A3$N7k2LF@$i$l$?$b$N$G$Oe(B
e$B$J$$$3$H$,J,$+$j$^$9!#e(B

e$B%i%$%V%i%j>e$G:n$i$l$?e(B (e$B@8$N!)e(B) string e$B$H!$e(B
e$B%i%$%V%i%j$+$i$5$i$Ke(B nkf e$B$J$I$rDL$8$F=hM}$5$l$?7k2L$Ne(B string
e$B$,e(B
e$BF1$8$h$&$K:.$6$C$FJV$5$l$F$b$G$9$+!)e(B

e$B0J>e$NDL$j$J$N$G!"$3$N2>Dj$,H]Dj$5$l$^$9!#e(B

e$BB?J,!$GX7J$H$7$F9M$($F$$$k>u67$,0c$C$F$$$k$s$@$H;W$$$^$9!%e(B

e$B@.@%$5$s$OHf3SE*Dc%l%Y%k$G3hMQ$5$l$k4pK%i%$%V%i%j$N$h$&$J$b$N$re(B
e$B%$%a!<%8$5$l$F$$$k$N$+$b$7$l$^$;$s!%e(B
e$B$=$N$h$&$J$b$N$G$“$l$P!$7k2L$r<u$1<h$C$F$+$ie(B force_encoding
e$B$G$be(B
e$B3N$+$K==J,$G$”$k%1!<%9$,B?$=$&$G$9!%e(B

e$B;d$N>l9g$O$=$&$7$?4pK%i%$%V%i%j$rAH$_9g$o$;$F;H$C$F$$$k$h$&$Je(B
e$B9b%l%Y%k$N%i%$%V%i%j$rA[Dj$7$F$$$^$7$?!%e(B
e$B$=$&$7$?$b$N$G$OKAF,$N$h$&$Ke(B force_encoding
e$B$,4V$K9g$o$J$$%1!<%9$,e(B
e$B$7$P$7$PH/@8$9$k$N$G$O$J$$$+$H9M$($^$9!%e(B

e$B!V$J$i<B:]$K$=$&$$$&$b$N$rMQ0U$7$F$_$m!W!$e(B
e$B!V6qBNNc$r=P$5$J$$$+$i$o$+$i$J$$!W$H8@$o$l$Fe(B
e$B$-$A$s$HDs=P$G$-$J$$$H$3$m$,%@%a$J$s$G$7$g$&$1$I!%!%!%e(B

e$B$?$H$(=P$;$?$H$7$F$b!$e(B

e$B!Ve(B1.9 e$B$Oe(B 1.8

e$B$H$N8_49@-0];}$rA0Ds$H$7$F$$$J$$$s$@$+$i!$e(B

e$B$=$&$$$&%1!<%9$OD|$a$^$7$g$&!We(B

e$B$H8@$o$l$F=*$j$K$5$l$=$&$J5$$,$9$k$N$O5$$N$;$$$G$7$g$&$+!%!%!%e(B

e$B$?$@!“K\Ev$KI,MW$+$H$$$&$H!”:#$N$H$3$mI,MW$K8+$($k>lLL$O$I$l$bJL$N$h$j$$e(B
e$B$$2r7h:v$,B8:_$7$F$$$k$h$&$G$9!#$J$N$G!"<B$OI,MW$J$$$N$G$O$J$$$+$H!#e(B

e$B$3$l$^$G0];}$9$k$h$&$KCm0U$rJ’$C$F$-$?8_49@-$re(B
e$B<g5A$KH?$7$F<N$F$k3P8g$r$7$?<T$KBP$7$F!$e(B
e$B$=$l$5$($b!V$h$j$$$$2r7h:v!W$H$5$i$C$HN.$7$F$7$^$&$N$Oe(B
e$B$A$g$$$H;D9s$G$O$J$$$+$H!%e(B(^_^)

1.8 e$B$H$N7QB3@-$KBP$9$k=E$_$NB*$(J}$,:,K\E*$K0c$C$F$F!$e(B
e$B6u2s$j$7$F$7$^$C$F$k$N$+$J$!!%!%!%e(B

e$B?\F#$G$9!#e(B

In [email protected]
“[ruby-dev:33321] Re: Binary String” on Wed, 23 Jan 2008 20:58:19
+0900,
“NARUSE, Yui” [email protected] wrote:

e$B$$$d!<!“$@$C$F!”:#e(B String e$B$O%P%$%HNs$8$c$J$/$J$C$?$s$G$9$h!"8_49$J$o$1$Je(B
e$B$$$8$c$J$$$G$9$+!#e(B

e$B$C$F$N$O8@$$$9$.$@$H$7$F$b!"$o$?$7$Oe(B Windows 3.1 → Windows 95 e$B$/$i$$$Ne(B
e$BJQ99$,9T$o$l$F$$$k$H;W$C$F$$$^$9$7!“e(BRuby e$B$h$j@h$Ke(B Unicode e$B2=$7$?e(B Perl e$B$Ge(B
e$B%i%$%V%i%j$K8.JB$_e(B utf8 e$BBP1~$NJQ99$,F~$C$?$N$b8+$F$$$^$9$+$i!”$=$NJU$N46e(B
e$B3P$O0c$&$+$b$7$l$^$;$s!#e(B

Perle$B$N$3$H$O$h$/CN$i$J$$$N$G65$($F$[$7$$$N$G$9$,!"e(BPerle$B$Ne(B
Unicodee$B2=$N1F6A$G!J%i%$%V%i%j$G$O$J$/$F!K4{B8$N%W%m%0%i%$O8.e(B e$BJB$_F0$+$J$/$J$C$?$N$G$7$g$&$+!)%i%$%V%i%j$,e(Butf8e$BBP1~$7$?$3$He(B e$B$G4{B8$N%W%m%0%i%$OF0$/$h$&$K$J$C$?$N$G$7$g$&$+!)e(B

Perle$B$G$O8.JB$_F0$+$J$/$J$C$?$N$@$C$?$ie(BRubye$B$N>l9g$b$=$&$J$ke(B

e$B$N$+$J$!$H!#e(B

e$B$=$b$=$be(B 1.8 e$B$G$bJ8;zMm$_$NItJ,$O$A$g$/$A$g$/JQ99F~$C$F$^$9$+$i$M$'!#e(Bnkf
e$B$,e(B 1.7 e$B$+$ie(B 2.0 e$B$K$J$C$?$j$H$+!#e(B

e$B$3$l$Oe(B1.8.xe$B4V$G8_49@-$,<:$o$l$F$$$k!"$D$^$j!"4{B8$N%W%m%0%i%`e(B
e$B$,F0$+$J$/$J$k$+$b$7$l$J$$$H$$$&$3$H$G$7$g$&$+!)e(B

e$BJ9$$$F$P$+$j$G$4$a$s$J$5$$!#e(B

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

Hidetoshi NAGAI wrote:

1.9 e$B$N%a%=%C%I$,;H$o$l$F$7$^$&$o$1$G!$e(B
e$BJV$5$l$F$+$i$Ne(B force_encoding e$B$G$O4V$K9g$$$^$;$s!%e(B

e$B$&!<$s!“e(B$KCODE e$B$K0MB8$7$F$$$?$i!<!”$I$&$@$m$&!#e(B$KCODE
e$B$r<+J,$GDj5A$7$?$ie(B
e$B5_$($F$7$^$&%Q%?!<%s$H!"$I$&$7$h$&$b$J$$%Q%?!<%s$KFs6K2=$9$k$h$&$J5$$O$7e(B
e$B$J$$$G$b$J$$$G$9$,!#e(B

e$B<c43$3$3$N2>Dj$,$*$+$7$$$h$&$K;W$$$^$9!#$=$N!V<j$NFO$+$J$$%i%$%V%i%jFbe(B
e$BIt!W$O$9$Y$Fe(B encoding e$BHsBP1~$J$N$G!"e(Bencoding e$B$,@_Dj$5$l$F$$$kI,MW$O$J$$e(B
e$B$G$7$g$&!#e(Bencoding e$B$,I,MW$K$J$k$N$O<j$,FO$/$H$3$m$^$GMh$F$+$i$G$9$+$i!“e(B
e$B$=$3$G@_Dj$7$F$”$l$P$h$N$G$9!#e(B

e$B$G$O==J,$H$O;W$($J$$$G$9!%e(B

e$B!V$G$O$=$&$$$&%i%$%V%i%j$OD|$a$F$/$@$5$$!W$,e(B
Ruby 1.9 e$B$J$N$+$b$7$l$^$;$s$,!%!%!%e(B

e$B$&!<$s!"$"$^$j$=$&$$$&%i%$%V%i%j$C$FB?$/$J$$$H;W$$$^$9$1$I$M$’!#e(B

e$B$3$l$^$G$O!$e(B Ruby e$B$C$F!$$"$kDxEY$N$$$$2C8:$5$r5vMF$9$ke(B

e$BBkMH$5$,$"$k$h$&$Ke(B (e$BL%NO$N$R$H$D$H$7$Fe(B) e$B46$8$F$^$7$?$,!$e(B

1.9 (e$B$Ne(B encoding) e$B$G$O$=$l$r5v$5$J$$J70O5$$,$"$j$^$9$M!%e(B

e$B$^$!!$$3$l$OK\Ev$K!V46>pE*!W$J$b$N$G$9$,!%e(B(^_^)

e$B$^$!!"e(Bencoding e$B$C$F$N$O8r49MQ$G$9$+$i$M!#e(B
e$B$=$N$^$^I=<($9$k$@$1$@$C$?$i$F$-$H!<$G$$$$$s$G$9$,!#e(B

e$B$"$H$O!"%i%$%V%i%j$K%V%m%C%/$rEO$9$J$j$7$F%i%$%V%i%jCf$G=hM}$9$k$+!"%*%Ve(B
e$B%8%’%/%H$r<u$1<h$C$F$+$i@_Dj$9$k$+$9$l$P!#e(B

e$B$(!A$C$H!$$=$l$C$F!V%i%$%V%i%jB&$K<j$rF~$l$k!W$C$F$3$H$G$9$h$M!%e(B
e$B>e5-$N!V%i%$%V%i%jB&$K<j$rF~$l$i$l$J$$$3$H$,A0Ds$J$i$Pe(B e$B!W$H$Oe(B
e$BL7=b$7$F$7$^$$$^$;$s$+!%e(B(^_^;

e$B$$$(!"e(B[ruby-dev:33269]
e$B$NNc$NG0F,$KCV$$$F$$$k$N$G<j$rF~$l$F$$$^$;$s!#e(B

encoding e$BHsBP1~$N%i%$%V%i%j$,JV$7$F$-$?;~E@$GI,A3$N7k2LF@$i$l$?$b$N$G$Oe(B
e$B$J$$$3$H$,J,$+$j$^$9!#e(B

e$B%i%$%V%i%j>e$G:n$i$l$?e(B (e$B@8$N!)e(B) string e$B$H!$e(B
e$B%i%$%V%i%j$+$i$5$i$Ke(B nkf e$B$J$I$rDL$8$F=hM}$5$l$?7k2L$Ne(B string e$B$,e(B
e$BF1$8$h$&$K:.$6$C$FJV$5$l$F$b$G$9$+!)e(B

e$B$$$^$$$AA[Dj$5$l$F$$$k>u67$,J,$+$i$J$$$N$G$9$,!"$H$j$"$($:e(B nkf
e$B$Oe(B
encoding e$BBP1~$J$N$O$$$$$N$+$J!#$G!"$=$N;~E@$Ge(B encoding
e$B$,$D$/$N$G$"$H$Oe(B
e$B$h$7$J$K$J$O$:$J$s$G$9$,!"$=$3$KB>$Ne(B ascii only e$B$G$J$$e(B
ASCII-8BIT e$B$NJ8;ze(B
e$BNs$r7k9g$5$;$h$&$H$9$k$H:$$j$^$9$,!"$3$N>l9g$ONc30$@$7$F$7$^$&$N$G$A$g$Ce(B
e$B$H0c$&$h$&$J!#e(B

e$B$b$C$H$b!“e(Bascii only e$B$G$J$$e(B ASCII-8BIT
e$B$JJ8;zNs$r7k9g$5$;$F$7$^$&$h$&$Je(B
e$B%1!<%9$O$”$^$j$J$$$s$8$c$J$$$+$J$!!&!&!&!#e(BCe$B8@8l$N%i%$%V%i%j$,$+$s$G$k>le(B
e$B9g$/$i$$$G$7$g$&$+!#e(B

e$B@.@%$5$s$OHf3SE*Dc%l%Y%k$G3hMQ$5$l$k4pK%i%$%V%i%j$N$h$&$J$b$N$re(B
e$B%$%a!<%8$5$l$F$$$k$N$+$b$7$l$^$;$s!%e(B
e$B$=$N$h$&$J$b$N$G$"$l$P!$7k2L$r<u$1<h$C$F$+$ie(B force_encoding e$B$G$be(B
e$B3N$+$K==J,$G$"$k%1!<%9$,B?$=$&$G$9!%e(B

e$B$^$!!"$o$?$7$,Dc%l%Y%k$h$j$J$N$OH]Dj$7$^$;$s$,!"e(B

e$B;d$N>l9g$O$=$&$7$?4pK%i%$%V%i%j$rAH$_9g$o$;$F;H$C$F$$$k$h$&$Je(B
e$B9b%l%Y%k$N%i%$%V%i%j$rA[Dj$7$F$$$^$7$?!%e(B
e$B$=$&$7$?$b$N$G$OKAF,$N$h$&$Ke(B force_encoding e$B$,4V$K9g$o$J$$%1!<%9$,e(B
e$B$7$P$7$PH/@8$9$k$N$G$O$J$$$+$H9M$($^$9!%e(B

e$B$$$/$iAH$_$"$o$;$F$be(B ASCII-8BIT
e$B$G=hM}$7B3$1$F$$$k8B$j!“4pK\E*$K$OJQ2=$7e(B
e$B$J$$$s$8$c$J$$$+$J$!$H;W$C$F$$$k$N$G$9$,!”<B:]$O$=$&$G$b$J$$$N$+$J$!!#e(B
nkf e$B$de(B iconv
e$B$GJQ49$r$+$^$;$F$b!":G=E$KLa$C$F$/$kJ8;zNs$N$"$k$Y$-e(B
encoding
e$B$,$o$+$k$J$i$P$=$l$r%;%C%H$9$k$@$1$8$c$J$$$+$J$H!#$G!"$"$k$Y$-e(B
encoding e$B$,$o$+$i$J$$%1!<%9$C$F$N$,A[A|IU$-$^$;$s!#e(B

e$B!V$J$i<B:]$K$=$&$$$&$b$N$rMQ0U$7$F$_$m!W!$e(B
e$B!V6qBNNc$r=P$5$J$$$+$i$o$+$i$J$$!W$H8@$o$l$Fe(B
e$B$-$A$s$HDs=P$G$-$J$$$H$3$m$,%@%a$J$s$G$7$g$&$1$I!%!%!%e(B

e$B$?$H$(=P$;$?$H$7$F$b!$e(B

e$B!Ve(B1.9 e$B$Oe(B 1.8 e$B$H$N8_49@-0];}$rA0Ds$H$7$F$$$J$$$s$@$+$i!$e(B

e$B$=$&$$$&%1!<%9$OD|$a$^$7$g$&!We(B

e$B$H8@$o$l$F=*$j$K$5$l$=$&$J5$$,$9$k$N$O5$$N$;$$$G$7$g$&$+!%!%!%e(B

Ce$B8@8l$N%i%$%V%i%j$,!"<+J,$Ge(B Ruby
e$B%l%Y%k$G%U%!%$%k$r3+$$$F%m%1!<%k%(%se(B
e$B%3!<%G%#%s%0$NJ8;zNs$r;}$C$F$-$F!"$3$l$Ke(B C
e$B8@8l%l%Y%k$G<+J,$G:n$C$?e(B
ascii only e$B$G$J$$e(B ASCII-8BIT
e$BJ8;zNs$H7k9g$5$;$h$&$H$7$FNc30$@$7$F;`$L!“e(B
e$B$”$?$j$O$"$j$($=$&$G$9$+$M$’!#e(B

e$B$?$@!“K\Ev$KI,MW$+$H$$$&$H!”:#$N$H$3$mI,MW$K8+$($k>lLL$O$I$l$bJL$N$h$j$$e(B
e$B$$2r7h:v$,B8:_$7$F$$$k$h$&$G$9!#$J$N$G!"<B$OI,MW$J$$$N$G$O$J$$$+$H!#e(B

e$B$3$l$^$G0];}$9$k$h$&$KCm0U$rJ’$C$F$-$?8_49@-$re(B
e$B<g5A$KH?$7$F<N$F$k3P8g$r$7$?<T$KBP$7$F!$e(B
e$B$=$l$5$($b!V$h$j$$$$2r7h:v!W$H$5$i$C$HN.$7$F$7$^$&$N$Oe(B
e$B$A$g$$$H;D9s$G$O$J$$$+$H!%e(B(^_^)

1.8 e$B$H$N7QB3@-$KBP$9$k=E$_$NB*$(J}$,:,K\E*$K0c$C$F$F!$e(B
e$B6u2s$j$7$F$7$^$C$F$k$N$+$J$!!%!%!%e(B

e$B$$$d!<!"$@$C$F!":#e(B String
e$B$O%P%$%HNs$8$c$J$/$J$C$?$s$G$9$h!"8_49$J$o$1$Je(B
e$B$$$8$c$J$$$G$9$+!#e(B

e$B$C$F$N$O8@$$$9$.$@$H$7$F$b!"$o$?$7$Oe(B Windows 3.1 -> Windows 95
e$B$/$i$$$Ne(B
e$BJQ99$,9T$o$l$F$$$k$H;W$C$F$$$^$9$7!“e(BRuby e$B$h$j@h$Ke(B Unicode
e$B2=$7$?e(B Perl e$B$Ge(B
e$B%i%$%V%i%j$K8.JB$_e(B utf8
e$BBP1~$NJQ99$,F~$C$?$N$b8+$F$$$^$9$+$i!”$=$NJU$N46e(B
e$B3P$O0c$&$+$b$7$l$^$;$s!#e(B

e$B$=$b$=$be(B 1.8
e$B$G$bJ8;zMm$_$NItJ,$O$A$g$/$A$g$/JQ99F~$C$F$^$9$+$i$M$’!#e(Bnkf
e$B$,e(B 1.7 e$B$+$ie(B 2.0 e$B$K$J$C$?$j$H$+!#e(B

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

Kouhei S. wrote:

e$B3P$O0c$&$+$b$7$l$^$;$s!#e(B

Perle$B$N$3$H$O$h$/CN$i$J$$$N$G65$($F$[$7$$$N$G$9$,!"e(BPerle$B$Ne(B
Unicodee$B2=$N1F6A$G!J%i%$%V%i%j$G$O$J$/$F!K4{B8$N%W%m%0%i%$O8.e(B e$BJB$_F0$+$J$/$J$C$?$N$G$7$g$&$+!)%i%$%V%i%j$,e(Butf8e$BBP1~$7$?$3$He(B e$B$G4{B8$N%W%m%0%i%$OF0$/$h$&$K$J$C$?$N$G$7$g$&$+!)e(B

Perl e$B$N>l9g$Oe(B decode
e$B$7$J$$8B$j%P%$%HNs$N$^$^$J$N$G!“4{B8$N%P%$%HNs$O%Pe(B
e$B%$%HNs$N$^$^$G$7$?$+$i!”$=$l$^$G$N%3!<%I$OF0$-$^$7$?!#e(BUnicode
e$B$,:G=i$KF3e(B
e$BF~$5$l$?e(B Perl 5.6 e$B$N;~E@$G$Oe(B Encode
e$B%b%8%e!<%k$9$iB8:$7$J$+$C$?$N$G!"@5e(B
e$BD>$J$H$3$m$
$Je(B
e$B%P%$%HNs$N$^$^07$C$F$$$?$h$&$K46$8$^$9!#<B:]$K0\9T$,;Oe(B
e$B$^$C$?$N$Oe(B 5.8 e$B$G$9$+$M!#e(B5.8
e$B$K$J$C$F%P%$%HNs$HJ8;zNs$,:.:_$7;O$a$k$H:.e(B
e$BMp$,5/$-$?$h$&$K5-21$7$F$$$^$9!#e(B

e$BC<E*$K$$$($P!“e(BPerl e$B$NJ8;zNs$H$Oe(B utf8
e$B%U%i%0$N$D$$$?%P%$%HNs$N$3$H$@$C$?e(B
e$B$o$1$G$9$,!”%G%U%)%k%H$G$O$D$+$J$+$C$?$N$G!":G=i$+$i:G8e$^$G%P%$%HNs$GDLe(B
e$B$7$F$7$^$&$H$$$&$3$H$,$G$-$^$7$?!#e(B

e$B0lJ}$Ne(B Ruby 1.9
e$B$O$$$-$J$j:#$^$G%P%$%HNs$@$C$?$b$N$,86B’J8;zNs$KJQ$o$C$Fe(B
e$B$7$^$$$^$7$?!#e(BPerl 5.6 e$B$N;~$N$h$&$K%P%$%HNs$GDL$=$&$H$7$F$be(B
$KCODE e$B$O$Je(B
e$B$/$J$C$F$$$^$9$+$iItJ,ItJ,$G$O2?$H$+$J$C$F$b%W%m%0%i%`A4BN$G$OFq$7$$$H;We(B
e$B$$$^$9!#e(B

e$B$D$^$j!"e(BRuby 1.9 e$B$O%G%U%)%k%H$Ge(B encoding e$B$r$D$1$k$N$Ge(B
Perl e$B$h$j;W$$@Z$Ce(B
e$B$?$H$$$&$+$J$s$H$$$&$+!#e(B

Perle$B$G$O8.JB$_F0$+$J$/$J$C$?$N$@$C$?$ie(BRubye$B$N>l9g$b$=$&$J$ke(B

e$B$N$+$J$!$H!#e(B

e$B;v>p$rCN$i$:$Ke(B use utf8; (e$B%j%F%i%k$Ke(B utf8 e$B%U%i%0e(B
e$B"be(B encoding e$B$r$D$1$ke(B) e$B$re(B
e$B$d$C$?F|$K$OE%>B$K$O$^$C$?J*$G$9$,!"e(BRuby 1.9
e$B$O%G%U%)%k%H$G$=$l$,IU$$$Fe(B
e$B$$$k>uBV$G$9$M!#e(B

e$B$=$b$=$be(B 1.8 e$B$G$bJ8;zMm$_$NItJ,$O$A$g$/$A$g$/JQ99F~$C$F$^$9$+$i$M$'!#e(Bnkf
e$B$,e(B 1.7 e$B$+$ie(B 2.0 e$B$K$J$C$?$j$H$+!#e(B

e$B$3$l$Oe(B1.8.xe$B4V$G8_49@-$,<:$o$l$F$$$k!"$D$^$j!"4{B8$N%W%m%0%i%`e(B
e$B$,F0$+$J$/$J$k$+$b$7$l$J$$$H$$$&$3$H$G$7$g$&$+!)e(B

Rubye$BJQ99MzNr$,;29M$K$J$j$^$9$+$M!#e(B
http://www.ruby-lang.org/ja/man/html/Ruby_CAD1B9B9CDFACEF2.html

e$B%P!<%8%g%s%“%C%W$NEY$KHyL/$JHs8_49$,H/@8$7$F$$$?$?$a!”%S%8%M%9$G$NMxMQ$,e(B
e$B9-$^$j$D$D$"$C$?e(B 1.8
e$B7O$+$i$^$D$b$H$5$s$r3VN%$7$h$&$H$$$&$N$,e(B 1.9 e$B$N%je(B
e$B%j!<%9$r5^$$$@M}M3$N0l$D$@$H$$$&1=$,$^$3$H$7$d$+$K!#e(B

e$BM73Z0C$G$9!#e(B

NARUSE, Yui e$B$5$s$O=q$-$^$7$?e(B:

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

e$B$$$d!<!"$@$C$F!":#e(B String e$B$O%P%$%HNs$8$c$J$/$J$C$?$s$G$9$h!"8_49$J$o$1$Je(B
e$B$$$8$c$J$$$G$9$+!#e(B

e$B$(e(B?!e$B$^!“H>J,>iCL$G8@$C$F$i$C$7$c$k$N$G$7$g$&$1$I!”$b$7K\Ev$K$=$&$J$k$J$ie(B
e$B%P%$%J%j%U%!%$%k$re(BIO#reade$B$7$?7k2L$Oe(BStringe$B$GJV$5$J$$$G$b$i$$$?$$$G$9!#e(B

e$B$C$F$N$O8@$$$9$.$G$9$,!#e(B

e$B7+$jJV$7$^$9$,!“e(BStringe$B$OJ8;zNs$h$j$b9-$$35G0$@$H;W$C$F$$$^$9$N$Ge(B
e$B%P%$%HNs$G$b$”$C$F$/$l$J$$$H:$$j$^$9!#e(B

e$B?\F#$G$9!#e(B

In [email protected]
“[ruby-dev:33323] Re: Binary String” on Wed, 23 Jan 2008 22:03:45
+0900,
“NARUSE, Yui” [email protected] wrote:

e$B$D$^$j!"e(BRuby 1.9 e$B$O%G%U%)%k%H$Ge(B encoding e$B$r$D$1$k$N$Ge(B Perl e$B$h$j;W$$@Z$Ce(B
e$B$?$H$$$&$+$J$s$H$$$&$+!#e(B

Perle$B$G$O8.JB$_F0$+$J$/$J$C$?$N$@$C$?$ie(BRubye$B$N>l9g$b$=$&$J$ke(B

e$B$N$+$J$!$H!#e(B

e$B;v>p$rCN$i$:$Ke(B use utf8; (e$B%j%F%i%k$Ke(B utf8 e$B%U%i%0e(B e$B"be(B encoding e$B$r$D$1$ke(B) e$B$re(B
e$B$d$C$?F|$K$OE%>B$K$O$^$C$?J*$G$9$,!"e(BRuby 1.9 e$B$O%G%U%)%k%H$G$=$l$,IU$$$Fe(B
e$B$$$k>uBV$G$9$M!#e(B

e$B$=$Ne(BPerle$B$Ne(Buse utf8;e$BAjEv$N$b$N$,e(B1.9e$B$Ne(Bmagic
commente$B$H$$$&$b$N$Ke(B
e$B$"$?$k$H;W$C$F$$$?$N$G$9$,!"0c$&$N$G$7$g$&$+!)$G!"e(Bmagic
commente$B$,$D$$$F$$$J$$$b$N$Oe(BASCII-8BITe$B$K$J$k$H;W$C$F$$$^$7$?!#e(B

e$B$=$7$Fe(BASCII-8BITe$B$,%P%$%HNs$H$7$F!J%P%$%HNs$C$]$/!)!K07$o$l$ke(B
e$B$N$+$J$!$H;W$C$F$$$?$N$G!"e(B1.9e$B$G$be(B

e$BC<E*$K$$$($P!“e(BPerl e$B$NJ8;zNs$H$Oe(B utf8 e$B%U%i%0$N$D$$$?%P%$%HNs$N$3$H$@$C$?e(B
e$B$o$1$G$9$,!”%G%U%)%k%H$G$O$D$+$J$+$C$?$N$G!":G=i$+$i:G8e$^$G%P%$%HNs$GDLe(B
e$B$7$F$7$^$&$H$$$&$3$H$,$G$-$^$7$?!#e(B

e$B$H$$$&$3$H$K$J$C$F!"4{B8$N%W%m%0%i%`$b$=$l$C$]$/F0$/$N$+$J$!e(B
e$B$H;W$$$^$7$?!#!Je(BASCII-8BITe$B$,%P%$%HNs$H$7$F07$o$l$k$H$$$&$N$,e(B
e$B4V0c$$!)!Ke(B

e$B$=$b$=$be(B 1.8 e$B$G$bJ8;zMm$_$NItJ,$O$A$g$/$A$g$/JQ99F~$C$F$^$9$+$i$M$'!#e(Bnkf
e$B$,e(B 1.7 e$B$+$ie(B 2.0 e$B$K$J$C$?$j$H$+!#e(B

e$B$3$l$Oe(B1.8.xe$B4V$G8_49@-$,<:$o$l$F$$$k!"$D$^$j!"4{B8$N%W%m%0%i%`e(B
e$B$,F0$+$J$/$J$k$+$b$7$l$J$$$H$$$&$3$H$G$7$g$&$+!)e(B

Rubye$BJQ99MzNr$,;29M$K$J$j$^$9$+$M!#e(B
http://www.ruby-lang.org/ja/man/html/Ruby_CAD1B9B9CDFACEF2.html

nkfe$B4XO"$NJQ99$O0J2<$N$h$&$G$9$,!"$3$l$N1F6A$Ge(B1.8.xe$B4V$G8_49@-e(B
e$B$,<:$o$l$F$$$k$N$G$7$g$&$+!)e(B

ruby 1.8.2 feature:

2004-11-20

ext/nkf/nkf-utf8/ [lib] [new]

  utf8 e$BBP1~e(B nkf (nkf 2.x) e$B$NDI2C!#e(B

2004-12-04

NKF.guess [lib] [compat]

  NKF.guess e$B$Oe(B NKF.guess2 e$B$Ne(B alias e$B$K$J$j$^$7$?!#e(B 

e$B=>Mh$N$b$N$r;H$$$?$$>l9g$Oe(B NKF.guess1 e$B$r;H$C$F2<$5$$!#e(B

e$B%P!<%8%g%s%“%C%W$NEY$KHyL/$JHs8_49$,H/@8$7$F$$$?$?$a!”%S%8%M%9$G$NMxMQ$,e(B
e$B9-$^$j$D$D$"$C$?e(B 1.8 e$B7O$+$i$^$D$b$H$5$s$r3VN%$7$h$&$H$$$&$N$,e(B 1.9 e$B$N%je(B
e$B%j!<%9$r5^$$$@M}M3$N0l$D$@$H$$$&1=$,$^$3$H$7$d$+$K!#e(B

e$B5$$K$J$C$?$N$Oe(Bnkfe$B$Ne(B1.7->2.0e$B$,Hs8_49@-$r@8$s$G$$$k$N$+$H$$$&$3e(B
e$B$H$G$7$?!#$b$&>/$78@$($Pe(B

e$B$=$b$=$be(B 1.8 e$B$G$bJ8;zMm$_$NItJ,$O$A$g$/$A$g$/JQ99F~$C$F$^$9$+$i$M$'!#e(Bnkf
e$B$,e(B 1.7 e$B$+$ie(B 2.0 e$B$K$J$C$?$j$H$+!#e(B

e$B$,2?$r8@$$$?$$$N$+$,$o$+$i$J$+$C$?$H$$$&$3$H$G$b$“$j$^$9!#;de(B
e$B$K$O!V$b$&e(B1.8.xe$B4V$GHs8_49@-$,$”$C$FF0$+$J$$%W%m%0%i%`$,$"$k$se(B
e$B$@$+$i!“e(B1.8/1.9e$B4V$G$bF0$+$J$/$F$$$$$8$c$s!)!W$_$?$$$KFI$a$Fe(B
e$B$7$^$C$?$N$G!”!V$=$s$J$3$H$J$$$h$M!)!W$H3NG’$7$?$+$C$?$s$G$9!#e(B

e$B$;$C$+$/$J$N$G!"$D$$$G$Ke(BStringe$B$K$D$$$F$b8+$F$_$?$N$G$9$,!"8_e(B
e$B49@-$,<:$o$l$=$&$J5-=R$O8+$D$1$i$l$^$;$s$G$7$?!#e(B1.8.xe$B4V$G$Oe(B
e$B$J$/e(B1.8<->1.9e$B$NOC$G$7$g$&$+!)e(B

e$B$3$l$O4X78$J$$$G$9$,!"e(B

1.9e$B$G$Ne(BStringe$B$NHs8_49@-$Oe(BString#[Integer]e$B$,e(BIntegere$B$G$O$J$/e(B
Stringe$B$rJV$9$3$H$,0lHVBg$-$$$H;W$C$F$$$k$N$G$9$,!Je(Beache$B$H$+$be(B
e$B$“$j$^$9$1$I!K!”$=$N$H$-$Oe(B

if string[0] == ?a

e$B$H$+=q$$$F$$$k$H;W$&$N$G!“$”$^$jJQ$J$3$H$r$7$F$$$J$$e(B1.8e$B$GF0$$e(B
e$B$F$$$?$d$D$,e(B1.9e$B$G$b$=$l$C$]$/F0$/$N$G$J$$$+$H;W$C$F$$$^$9!#e(B
e$BNc$($P!"%F%-%9%H=hM}$r$7$F$$$ke(BHikiDoce$B$H$$$&$d$D$O2?$b$7$J$/e(B
e$B$F$b$=$l$C$]$/F0$$$F$$$k5$$,$7$^$9!#e(B
e$B!Je(BtDiarye$B$OJQ$J$3$H$r$7$F$$$k$d$D$@$H;W$&!#!Ke(B

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

Kouhei S. wrote:

e$B$=$Ne(BPerle$B$Ne(Buse utf8;e$BAjEv$N$b$N$,e(B1.9e$B$Ne(Bmagic commente$B$H$$$&$b$N$Ke(B
e$B$"$?$k$H;W$C$F$$$?$N$G$9$,!"0c$&$N$G$7$g$&$+!)$G!"e(Bmagic
commente$B$,$D$$$F$$$J$$$b$N$Oe(BASCII-8BITe$B$K$J$k$H;W$C$F$$$^$7$?!#e(B

e$B$=$7$Fe(BASCII-8BITe$B$,%P%$%HNs$H$7$F!J%P%$%HNs$C$]$/!)!K07$o$l$ke(B
e$B$N$+$J$!$H;W$C$F$$$?$N$G!"e(B1.9e$B$G$be(B

str[] e$B$"$?$j$N5sF0$,JQ$o$C$F$$$k$H$$$&$N$H!"C<$+$iC<$^$Ge(B
ASCII-8BIT e$B$GE}e(B
e$B0l$7$J$$$H$d$d$3$7$/$J$k$o$1$G$9$,!"e(BRuby 1.9 e$B$Oe(B magic
comment e$B$r=q$+$J$/e(B
e$B$F$be(B Encoding.default_external e$B$,e(B
e$B%m%1!<%k$J$N$G!"e(BLANG=C e$B0J30$@$H30$+$ie(B
e$BF~$C$F$-$?%G!<%?$Oe(B ASCII-8BIT e$B$K$J$j$^$9!#e(B

LANG=C e$B$@$C$?$H$7$F$b!“e(Btranscode e$B$be(B nkf e$B$be(B iconv
e$B$bDL$9$HJQ497k2L$Ne(B
string e$B$Ke(B encoding
e$B$r$D$1$k$N$G!”$3$l$K$b5$$r$D$1$J$$$H$$$1$^$;$s!#e(B

e$BC<E*$K$$$($P!“e(BPerl e$B$NJ8;zNs$H$Oe(B utf8 e$B%U%i%0$N$D$$$?%P%$%HNs$N$3$H$@$C$?e(B
e$B$o$1$G$9$,!”%G%U%)%k%H$G$O$D$+$J$+$C$?$N$G!":G=i$+$i:G8e$^$G%P%$%HNs$GDLe(B
e$B$7$F$7$^$&$H$$$&$3$H$,$G$-$^$7$?!#e(B

e$B$H$$$&$3$H$K$J$C$F!"4{B8$N%W%m%0%i%`$b$=$l$C$]$/F0$/$N$+$J$!e(B
e$B$H;W$$$^$7$?!#!Je(BASCII-8BITe$B$,%P%$%HNs$H$7$F07$o$l$k$H$$$&$N$,e(B
e$B4V0c$$!)!Ke(B

e$B$H$$$&$o$1$G!"C<$+$iC<$^$Ge(B ASCII-8BIT e$B$GE}0l$G$-$l$P!"e(Bstr[]
e$B$H$+$rF’$^$Je(B
e$B$1$l$PF0$/$N$G$7$g$&$,!"Fq$7$$$h$&$K46$8$^$9!#e(B

ruby 1.8.2 feature:

  NKF.guess e$B$Oe(B NKF.guess2 e$B$Ne(B alias e$B$K$J$j$^$7$?!#e(B e$B=>Mh$N$b$N$r;H$$$?$$>l9g$Oe(B NKF.guess1 e$B$r;H$C$F2<$5$$!#e(B

guess
e$B$NLa$jCM$,A}$($?$j!"JQ49I=$,HyL/$KJQ$o$C$?$j$7$F$$$^$9$M!#GI<j$JJQe(B
e$B99$OF~$l$kA0$Ke(B ML
e$B$K=P$7$F$$$k$N$G%m%0$r8+$F$_$k$H$$$$$+$b$7$l$^$;$s!#e(B

e$B5$$K$J$C$?$N$Oe(Bnkfe$B$Ne(B1.7->2.0e$B$,Hs8_49@-$r@8$s$G$$$k$N$+$H$$$&$3e(B
e$B$H$G$7$?!#$b$&>/$78@$($Pe(B

e$B$=$b$=$be(B 1.8 e$B$G$bJ8;zMm$_$NItJ,$O$A$g$/$A$g$/JQ99F~$C$F$^$9$+$i$M$’!#e(Bnkf
e$B$,e(B 1.7 e$B$+$ie(B 2.0 e$B$K$J$C$?$j$H$+!#e(B

e$B$,2?$r8@$$$?$$$N$+$,$o$+$i$J$+$C$?$H$$$&$3$H$G$b$"$j$^$9!#;de(B
e$B$K$O!V$b$&e(B1.8.xe$B4V$GHs8_49@-$,$"$C$FF0$+$J$$%W%m%0%i%`$,$"$k$se(B
e$B$@$+$i!“e(B1.8/1.9e$B4V$G$bF0$+$J$/$F$$$$$8$c$s!)!W$_$?$$$KFI$a$Fe(B
e$B$7$^$C$?$N$G!”!V$=$s$J$3$H$J$$$h$M!)!W$H3NG’$7$?$+$C$?$s$G$9!#e(B

Ruby e$B$,e(B 1.8
e$B$N4V8_49@-$K=E$-$rCV$$$F$$$?$+$H$$$&$H!"<B:]$O$=$&$G$b$J$+$Ce(B
e$B$?!"$H!#$G!"$=$l0J>e$Ke(B 1.9
e$B$G$NJQ99$OBg$-$$$N$G!"<j$rF~$l$J$/$F$bF0$/$be(B
e$B$N$O>/$J$$!#$f$($KF0$+$J$+$C$?$i<j$rF~$l$F$/$@$5$$!"$H$$$&$H$3$m$G$9$+$M!#e(B

e$B$;$C$+$/$J$N$G!"$D$$$G$Ke(BStringe$B$K$D$$$F$b8+$F$_$?$N$G$9$,!"8_e(B
e$B49@-$,<:$o$l$=$&$J5-=R$O8+$D$1$i$l$^$;$s$G$7$?!#e(B1.8.xe$B4V$G$Oe(B
e$B$J$/e(B1.8<->1.9e$B$NOC$G$7$g$&$+!)e(B

jcode.rb
e$B$"$?$j$,JQ$o$C$F$$$?$h$&$J!"$9$$$^$;$s!"e(B1.9e$B$H:.F1$7$F$k$+$b!#e(B

e$B$F$b$=$l$C$]$/F0$$$F$$$k5$$,$7$^$9!#e(B
e$B!Je(BtDiarye$B$OJQ$J$3$H$r$7$F$$$k$d$D$@$H;W$&!#!Ke(B

e$B0U30$He(B CGI e$B$H$+$OF0$-$d$9$$$+$J!<$H$$$&5$$O$7$^$9$M!"e(BLOCALE
e$B$,e(B C e$B$G$7$ge(B
e$B$&$+$i!#$I$A$i$+$H$$$&$H!"C<Kv$@$He(B locale e$B$,Mm$`$N$Ge(B
encoding e$BMm$_$NLdBje(B
e$B$,82:_2=$7$d$9$$$h$&$K;W$$$^$9!#e(B

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

Yukihiro M. wrote:

|e$B%G%#%s%0$O>~$j$K$9$.$J$$$N$G$"$^$j6/$$0U8+$O;}$C$F$$$^$;$s!#e(B

e$B;d$Oe(BEUC-JPe$B$K$J$k$Y$-$@$H;W$$$^$9!#8=>u$=$&$J$C$F$$$k$N$Oe(B7bit
e$B%A%'%C%/$,L@3N$G$J$+$C$?;~$NL>;D$@$H;W$$$^$9!#B>$K$J$K$+L\E*e(B
e$B$,$"$j$^$7$?$C$1!#!de(B e$B9g=I=P@J<T!"FC$KEDCf$5$se(B

e$B$b$7!“$J$s$i$+$N;v>p$Ge(BEUC-JPe$B$G$J$/e(BASCII onlye$B$rL@<($9$kL>A0$,e(B
e$BNI$$$H$$$&$3$H$G$”$l$P!"$=$N>l9g$K$Oe(BUS-ASCIIe$B$r2!$7$^$9!#e(B

e$B$H$$$&$o$1$G!“e(B[ruby-dev:33203]
e$B$@$HFq$7$$$h$&$G$9$N$G!”$H$j$"$($:e(B
US-ASCII e$B$KJQ$($F$$$$$G$9$+!#e(B

e$B$D$$$G$K!“e(B-Kn e$B$,:#e(B US-ASCII e$B$K$J$C$F$$$k$N$G$9$,!”$3$le(B
ASCII-8BIT e$B$K$7$^e(B
e$B$;$s$+!#e(B8bit
e$BJ8;z$N:.$8$C$?%U%!%$%k$rFI$s$G=hM}$9$k$H$$$&%9%/%j%W%H$r!"e(B
Ruby 1.8 e$B$G$be(B 1.9 e$B$G$bF0$+$7$?$$>l9g$Ke(B -Kn
e$B$rMQ$$$?$$$N$G$9$,!"e(BUS-ASCII
e$B$@$H;H$($^$;$s!#e(B

e$B6qBNE*$K$Oe(B [ruby-dev:33185] e$B$NBP=h$Ge(B -Kn
e$B$r;H$$$?$+$C$?$N$G$9!#e(B

e$B$b$H$b$H!"e(BONIG_ENCODING_ASCII e$B$@$C$?$h$&$G$9$7!#e(B
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ruby.c?r1=15060&r2=15059&diff_format=u

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

e$BM73Z0Ce(B wrote:

e$B7+$jJV$7$^$9$,!“e(BStringe$B$OJ8;zNs$h$j$b9-$$35G0$@$H;W$C$F$$$^$9$N$Ge(B
e$B%P%$%HNs$G$b$”$C$F$/$l$J$$$H:$$j$^$9!#e(B

e$B%a%$%s%W%l%$%d!<$G$O$J$/$J$C$F$$$^$9$h$M!#e(Bstr[]
e$B$bC%$o$l$F$$$^$9$7!#e(B
e$B$^$!!"%P%$%J%j%U%!%$%k$re(B read e$B$J$5$k$N$G$7$?$i!"e(B
[ruby-dev:33186]
[ruby-dev:33290] e$B$3$NJU$N8+Ev$b$J$5$C$F$_$k$H$h$m$7$$$+$H!#e(B

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

In message “Re: [ruby-dev:33330] Re: Binary String”
on Thu, 24 Jan 2008 00:11:40 +0900, “NARUSE, Yui”
[email protected] writes:

|e$B$H$$$&$o$1$G!“e(B[ruby-dev:33203] e$B$@$HFq$7$$$h$&$G$9$N$G!”$H$j$"$($:e(B
|US-ASCII e$B$KJQ$($F$$$$$G$9$+!#e(B

e$B$I$&$>!#e(B

|e$B$D$$$G$K!“e(B-Kn e$B$,:#e(B US-ASCII e$B$K$J$C$F$$$k$N$G$9$,!”$3$le(B ASCII-8BIT e$B$K$7$^e(B
|e$B$;$s$+!#e(B8bit e$BJ8;z$N:.$8$C$?%U%!%$%k$rFI$s$G=hM}$9$k$H$$$&%9%/%j%W%H$r!"e(B
|Ruby 1.8 e$B$G$be(B 1.9 e$B$G$bF0$+$7$?$$>l9g$Ke(B -Kn e$B$rMQ$$$?$$$N$G$9$,!"e(BUS-ASCII
|e$B$@$H;H$($^$;$s!#e(B

e$B$I$&$>!#e(B

In article [email protected],
e$BM73Z0Ce(B [email protected] writes:

e$B7+$jJV$7$^$9$,!“e(BStringe$B$OJ8;zNs$h$j$b9-$$35G0$@$H;W$C$F$$$^$9$N$Ge(B
e$B%P%$%HNs$G$b$”$C$F$/$l$J$$$H:$$j$^$9!#e(B

e$B6qBNE*$K$O$I$&:$$k$s$G$7$g$&e(B?

e$B%P%$%HNs$He(B ASCII-8BIT e$B$JJ8;zNs$ON>J}$H$b$J$K$+e(B
256e$B<oN`$N$b$Ne(B
e$B$,e(B 0e$B8D0J>eJB$s$G$$$k$H$$$&9=B$$J$N$G!"2aITB-$J$/BP1~$E$1$k$3e(B
e$B$H$OMF0W$G$9!#e(B

e$B$7$?$,$C$F!"%P%$%HNs$KBP$7$F2DG=$JA:n$O$9$Y$Fe(B ASCII-8BIT e$B$Je(B e$BJ8;zNs$KBP$9$kA:n$H$7$FDj5A$7D>$9$3$H$,$G$-$^$9!#e(B

e$B$7$?$,$C$F!"$$=$i$/LdBj$O2?$+$,=PMh$k=PMh$J$$$H$$$&$3$H$G$Oe(B
e$B$J$/!"35G0E
$H$$$&$+!"9M$(J}$K4X$9$kOC$@$H;W$$$^$9!#e(B

e$B$I$&$$$&9M$(J}$r$5$l$F$$$k$+$O%a!<%k$rFI$D>$7$F$b$"$^$j$O$Ce(B
e$B$-$j$H$OFI$
<h$l$J$+$C$?$N$G4V0c$C$F$$$k$N$+$b$7$l$^$;$s$,!"e(B
e$B%P%$%HNs$HJ8;zNs$,GSB>E*$J$b$N$@$H9M$($F$$$k$h$&$K46$8$i$l$^e(B
e$B$9!#e(B

e$B$7$+$7!“;d$O$=$&$O9M$($F$$$^$;$s!#e(BString e$B$OJ8;zNs$NB&LL$H%Pe(B
e$B%$%HNs$NB&LL$r$”$o$;$b$D$b$N$@$H9M$($F$$$^$9!#$3$l$O!"%P%$%He(B
e$BNs$HJ8;zNs$O0c$&%l%$%d$N35G0$@$+$i$G$9!#J8;zNs$Oe(B (e$B%3%s%T%e!<e(B
e$B%?Fb$G$Oe(B) e$B%P%$%HNs$K%(%s%3!<%G%#%s%0$K$h$C$FJ8;zNs$H$7$F$N2re(B
e$B<a$rM?$($k$3$H$K$h$C$FI=8=$5$l$^$9!#=>$C$F!"J8;zNs$O>o$K%P%$e(B
e$B%HNs$H$7$F$NB&LL$r;}$A$^$9!#$H$/$Ke(B Ruby e$B$N$h$&$K!"J8;zNs$H$7e(B
e$B$F$O2u$l$?%P%$%HNs$b5v$9%7%9%F%`$G$O%P%$%HNs$NB&LL$,$O$C$-$je(B
e$B$H8+$F<h$l$^$9!#e(B

e$B%l%$%d$K$h$k8+J}$N0c$$$r%(%s%3!<%G%#%s%0$N0c$$$H$7$FI=8=$9$ke(B
e$B$3$H$O35G0$r$&$^$/$H$i$($F$$$J$$$N$G$O$J$$$G$7$g$&$+!#e(B

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

In message “Re: [ruby-dev:33333] Re: Binary String”
on Thu, 24 Jan 2008 00:57:59 +0900, Yukihiro M.
[email protected] writes:

|e$B$[$s$H$Oe(BCe$B3HD%%i%$%V%i%j$4$H$N%3%s%F%-%9%H$r;}$C$F$F!“$=$3$G$3e(B
|e$B$N%i%$%V%i%j$N%G%U%)%k%H$N%(%s%3!<%G%#%s%0$O$3$l!”$H$+;XDj$Ge(B
|e$B$-$k$H$@$$$V3Z$J$N$G$9$,!#$A$g$C$H<BAu$,BgJQ$=$&!#e(B

e$B$$$d!"$b$7$+$7$?$ie(BCe$B%^%/%m$r6n;H$9$k$H$G$-$?$j$9$k$N$+$J!#3HD%e(B
e$B%i%$%V%i%j$N%=!<%9%U%!%$%k$Ge(Bruby.he$B%X%C%@$rFI$_9~$`A0$Ke(B
RUBY_MODULE_DEFAULT_ENCODINGe$B$,Dj5A$5$l$F$?$ie(Brb_str_new()e$B$re(B
rb_enc_str_new()e$B$KCV$-49$($k$H$+!#e(B

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

In message “Re: [ruby-dev:33281] Re: Binary String”
on Wed, 23 Jan 2008 01:30:19 +0900, Hidetoshi NAGAI
[email protected] writes:

|e$B$K$b$+$+$o$i$:e(B UNDEFINED-8BIT e$B$J$s$FOC$r=P$7$?$j$7$F$$$k$N$O!$e(B
|e$B$5$^$6$^$J30It%i%$%V%i%j$r%V%i%C%/%%C%/%9$H$7$FMQ$$$k>l9g$re(B
|e$B9M$($F$N$3$H$G$9!%e(B

e$B$U!<$`!#e(B

|e$B$b$A$m$s$3$3$Ge(B Ruby/Tk e$B$N>l9g$HF1MM$Ke(B
|e$B!Ve(BRuby 1.8 e$BMQ$N%i%$%V%i%j$r;H$&J}$,0-$$!W$H$+!$e(B
|e$B!Ve(BRuby 1.8 e$BMQ$N%i%$%V%i%j$GJ8;zNs$r07$&$b$N$O$[$H$s$ID|$a$F$/$@$5$$!We(B
|e$B$H$9$k$3$H$b$G$-$^$9!%e(B
|e$B$=$l$b3N$+$K0l$D$NA*Br;h$G$7$g$&!%e(B

e$B!V$[$H$s$I!W$,$I$N$/$i$$!V$[$H$s$I!W$+$I$&$+$O@5D>$h$/$o$+$ie(B
e$B$J$$$G$9$M!#$"$kDxEY0J>e5,LO$,Bg$-$$$b$N$He(BCe$B%i%$%V%i%j$N%i%Ce(B
e$B%Q!<$OFq$7$$$@$m$&$H$O;W$$$^$9!#e(B

|# e$B:,K\E*$KBP1~IT2DG=$J%1!<%9$,$"$k$N$O>5CN$7$F$$$^$9$+$i!$e(B
|# e$B$=$N$h$&$J>l9g$O4^$a$F$$$^$;$s!%e(B
|# e$B!Ve(BRuby 1.9 e$B<+BN$,$$$m$$$mJQ$C$F$$$k$s$@$+$i!W$H$$$&$N$Oe(B
|# e$B!Ve(BRuby 1.8 e$B$N$b$N$O$9$Y$F;H$($J$$!W$HF10U$G$O$J$$$G$9$h$M!%e(B

e$B$&!<$s!"e(B

(a) 1.8e$BBP1~%i%$%V%i%je(B(1.9e$BL$BP1~e(B)
(b) e$B$=$N$&$Ae(BUNDEFINED-8BITe$B$G5_:Q$G$-$k$b$Ne(B
(c) e$B:,K\E*$KBP1~IT2DG=$J$b$Ne(B

e$B$,$"$C$F!"e(Ba=b+ce$B$J$o$1$G$9$,!"e(Bbe$B$N3d9g$,$I$l$@$1Bg$-$$$+$G$9$he(B
e$B$M!#$3$l$O!Ve(Bencodinge$B$,L@<($5$l$F$$$J$$$N$Ge(BASCII-8BITe$B$K$J$C$Fe(B
e$B$7$^$C$?e(B(e$B$N$G!"1J0f$5$sE*$K$Oe(BUNDEFINED-8BITe$B$K$J$k$Y$-e(B)e$BJ8;zNs!We(B
e$B$H!V0U?^E*$Ke(BASCII-8BITe$B$r;XDj$7$?J8;zNs!W$,$=$l$>$l$I$l$@$1B8e(B
e$B:_$9$k$+$K$+$+$C$F$/$k$H;W$$$^$9!#e(B

e$B$G!“8=:!"$$J$5$s$NEXNO$K$h$C$F0U?^$;$:$Ke(BASCII-8BITe$B$r;H$C$Fe(B
e$B$7$^$&3d9g$O$I$s$I$s8:$C$F$$$^$9!#%(%s%3!<%G%#%s%0$,L@<($5$le(B
e$B$k6ILL$OA}$($F$$$^$9$7!“e(BASCIIe$B$G$”$k$Y$-$b$N$NB?$/$Oe(BUS-ASCIIe$B$Ke(B
e$B$J$C$F$$$^$9$7!#$D$^$j!“e(BUNDEFINED-8BITe$B$,$”$C$F$b!”$=$l$He(B
ASCII-8BITe$B$r6hJL$7$J$1$l$P$J$i$J$$6ILL$,8:$C$F$$$k!"8@$$J}$re(B
e$BJQ$($k$H!“e(Bbe$B$N3d9g$O$I$s$I$s8:$C$F$$$F!“1J0f$5$s$N%”%$%G%#%”$Ne(B
e$BM-8z@-$b2<$,$C$F$$$k$H$$$&$3$H$G$O$J$$$+$H;W$$$^$9!#e(B

e$B$N$G!"6a$$>-Mh!"e(B1.8e$BBP1~$@$m$&$,e(B1.9e$BBP1~$@$m$&$,!"e(BASCII-8BITe$B$Ne(B
e$BJ8;zNs$r8+$?$i!"1J0f$5$s$,Ds0F$5$l$?e(BUNDEFINED-8BITe$B$HF1DxEY$Ke(B
e$B8+$J$7$F$b$[$\4m81$,$J$$>uBV$K$J$k$@$m$&$3$H$rM=A[$7$F$$$k$Ne(B
e$B$G$9!#e(B

|e$B$^$?!$e(BUNDEFINED-8BIT e$B$GJV$5$l$?$J$i$P!$e(B
|e$BB>$Ne(B encoding e$B$N>l9g$H0c$C$Fe(B Ruby 1.9 e$B$H$7$F$N=hM}$N7k2L$Ne(B
|e$BI,A3$H$7$FF@$i$l$?$b$N$G$O$J$$$H$$$&$3$H$,J,$+$j$^$9!%e(B
|e$B$=$l$,J,$+$l$P9%$-$J$h$&$KNAM}$9$k$3$H$,$G$-$^$9!%e(B
|
|UNDEFINED-8BIT e$B$N$h$&$J$b$N$,B8:_$7$J$1$l$P!$e(B
|e$B%V%i%C%/%%C%/%9$NLaCM$O$9$Y$FF1$8e(B encoding e$B$G$“$k$He(B
|e$B?dDj$9$k$7$+$”$j$^$;$s!%e(B

UNDEFINED-8BITe$B$,$“$C$F$b%V%i%C%/%%C%/%9$NLa$jCM$OF1$8%(%s%3!<e(B
e$B%G%#%s%0$G$”$k$H?dDj$9$k$7$+$J$$$H;W$&$s$G$9$,!"$J$K$+4V0c$Ce(B
e$B$F$^$9!)e(B

e$B$“!“8D!9$N%i%$%V%i%j8F$S=P$7$NA0$Ke(Bdefault_undefinede$B$r;XDj$9$k$Ce(B
e$B$F$3$H$J$N$+$J!#$=$&$+!”$=$l$@$H0UL#$,$”$k$+$J!#$G$b!"$=$Ne(B
APIe$B$OHr$1$?$$$N$G$9$,!#%9%l%C%I%;!<%U$8$c$J$$$7!#e(B

|# e$B:#2s$b!V2?$@$+NI$/J,$+$i$J$$$3$H$r46>pE*$KC}$C$F$$$k!W$He(B
|# e$B;W$o$l$F=*$o$j$+$J$!!%!%!%e(B(^_^;

e$B$[$s$H$Oe(BCe$B3HD%%i%$%V%i%j$4$H$N%3%s%F%-%9%H$r;}$C$F$F!“$=$3$G$3e(B
e$B$N%i%$%V%i%j$N%G%U%)%k%H$N%(%s%3!<%G%#%s%0$O$3$l!”$H$+;XDj$Ge(B
e$B$-$k$H$@$$$V3Z$J$N$G$9$,!#$A$g$C$H<BAu$,BgJQ$=$&!#e(B

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

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

US-ASCII e$B$KJQ$($F$$$$$G$9$+!#e(B

e$B$3$N$“$?$j$N1F6A$G!”%F%9%H$N<:GT$,A}$($F$$$k$h$&$G$9!#e(B

http://www.rubyist.net/~akr/chkbuild/debian-sarge/ruby-trunk/log/20080124T013506.diff.txt.gz

e$B%F%9%H$r=$@5$9$Y$-$b$N$b!“$=$&$G$J$$$N$b$”$k$+$s$8$G$9!#e(B

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

In message “Re: [ruby-dev:33336] Re: Binary String”
on Thu, 24 Jan 2008 02:29:04 +0900, Tanaka A. [email protected]
writes:

|> US-ASCII e$B$KJQ$($F$$$$$G$9$+!#e(B
|
|e$B$3$N$“$?$j$N1F6A$G!”%F%9%H$N<:GT$,A}$($F$$$k$h$&$G$9!#e(B

e$B$H$j$"$($:!"e(B\x80e$B0J>e$N%(%9%1!<%W%7!<%1%s%9$r4^$`>l9g$K$Oe(B
US-ASCIIe$B$K$7$F$O$$$1$J$$$N$G$7$g$&$M!#e(B

e$BM73Z0C$G$9!#e(B

Tanaka A. e$B$5$s$O=q$-$^$7$?e(B:

In article [email protected],
e$BM73Z0Ce(B [email protected] writes:

e$B6qBNE*$K$O$I$&:$$k$s$G$7$g$&e(B?
e$B7W;;$,$9$C$-$j=q$1$^$;$s!#e(B
e$BJ8;zNs$H%P%$%HNs$,%l%$%d$N0c$&OC$J$N$O$o$+$j$^$9$7!"e(B
e$BGSB>E*$@$H$b;W$C$F$$$^$;$s!#e(B
e$B$?$@!“e(BStringe$B$NJ8;zNs$X$N79<P$,$”$^$j$K$b2a7c$J$N$Ge(B
e$B%P%$%J%j%G!<%?$O$I$&$J$C$A$c$&$Ne(B??
e$B$H;W$C$F$$$^$9!#e(B
e$BMW$9$k$K!V%P%i%s%90-$/$J$$e(B??e$B!W$H$$$&46$8$G$7$g$&$+!#e(B

e$B6M@8$5$s$NNc$r0z$/$^$G$b$J$/!"%P%$%J%j%G!<%?$r%U%!%$%k$+$ie(B
e$BFI$_9~$s$G7W;;$r$9$k$H$$$&=hM}$O0lHLE*$@$H;W$&$N$G$9!#e(B
String#[]e$B$^$GJ8;zNs$K$J$C$Fe(B
e$B$=$l$r$9$C$-$j=q$/J}K!$O$J$/$J$C$F$7$^$$$^$7$?!#e(B

e$B$$$/$D$+e(BStringe$B$r%P%$%HNs$H$7$F%"%/%;%9$9$kJ}K!$N0F$,=P$F$^$7$?$,e(B
e$B%P%$%J%j%G!<%?$r=hM}$9$k$H$J$C$?$H$?$s!"e(BRubye$B$i$7$+$i$L%4%A%c%4%A%c$7$?e(B
e$B%3!<%I$K$J$C$A$c$$$=$&$G!De(B

e$BEDCf$5$s$N!V%l%$%d!W$H$$$&%-!<%o!<%I$G;W$$$D$$$?$N$G$9$,!“e(B
e$B$$$C$=$N$3$H$=$N35G0$N%l%$%d$r%/%i%93,AX$GI=8=$7$A$c$C$?$i$I$&$G$7$g$&$M!#e(B
Stringe$B$N?F$K!Ve(BByteTraine$B!W$H$$$&%/%i%9$rF~$l$F!”%P%$%HNs$rI=8=$9$k!#e(B
ByteTrain#[]e$B$O@0?tCM$r07$$$^$9!#e(B
e$B$G!"%P%$%J%j%U%!%$%k$rFI$9~$s$@;~$K$Oe(BStringe$B$G$O$J$/$3$C$A$r;H$&!#e(B
e$B%F%-%9%H$N;~$Oe(BStringe$B$G$h$$!#e(B
Stringe$B$N?F$KF~$l$k$N$G!“e(BIO#reade$B$NLa$jCM$Oe(BByteTraine$B$N%*%V%8%'%/%H$@$he(B
e$B$H$$$&$3$H$GE}0l$O$=$l$J$j$K<h$l$k$G$7$g$&!#e(B
encodinge$B4XO”$N%a%=%C%I$ODj5A$N$
$7$F$*$1$P!“e(Bencodinge$B$r;H$C$F$b$=$l$J$j$Ke(B
e$B=hM}$G$-$^$9!#e(B
encodinge$B;2>H$K$Oe(Bnile$B$rJV$7!”@_Dj$K$O2?$b$7$J$$!#e(B

e$B$3$s$J$N$I$&$G$7$g$&$M!#$=$7$?$ie(BStringe$B$O?4CV$-$J$/J8;zNs$rDI5a$G$-$k$7e(B
e$B%P%$%J%j%G!<%?$b9,$;$K$J$l$^$9!#e(B
String#bytese$B$G$Oe(BByteTraine$B%*%V%8%'%/%H$rJV$;$P$$$$$G$7$g$&!#e(B

e$B$b$C$H$b!“%9%/%i%C%A$+$i9M$($F$h$1$l$P!”$3$Ne(BByteTraine$B$re(BStringe$B%/%i%9$K$7e(B
e$B$F!"e(Bencodinge$B=hM}$NF~$C$?e(B1.9e$B$Ne(BStringe$B$O$=$N;R%/%i%9$K$7$F!Ve(BTexte$B!W$H$G$be(B
e$BL>A0$r$D$1$?$$$H$3$m$G$9$,!#e(B