addis_a
September 1, 2013, 10:40am
1
Watson $B$H?=$7$^$9!#(B
$B0JA0!“(BRuby-list $B$N(B
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/49573
$B$G$*J9$-$7$?$N$G$9$,!”$$$m$$$m;n$7$F$_$?$H$3$m(B
String#encode $B$G%O%s%0%kJ8;zA4HL$r(B UTF8-MAC $B$+$i(B UTF-8
$B$KJQ49$7$?:]!"(B
$B4|BT$9$k%P%$%HNs$K$J$j$^$;$s$G$7$?!#(B
Iconv
$B%i%$%V%i%j$rMQ$$$FJQ49$7$?:]$K$O4|BT$9$k%P%$%HNs$KJQ49$5$l$F$$$k$h$&$G$7$?!#(B
String#encode $B$G%O%s%0%kJ8;z$r(B UTF8-MAC $B$+$i(B UTF-8
$B$XJQ49$G$-$J$$$N$O;EMM$J$N$+(B
$B3NG’$7$?$/%a!<%k$7$^$7$?!#(B
$B;n9T:x8m$K;HMQ$7$?%U%!%$%k$O(B
$B$K$4$6$$$^$9!#(BObjective-C $B$N(B API $B$rMQ$$$F(B UTF8-MAC
$B$r:n@.$7(B
String#encode $B$H(B Iconv $B$G$=$l$>$l(B UTF-8
$B$XJQ49$7<B83$7$^$7$?!#(B
$B$h$m$7$/$*4j$$$$$?$7$^$9!#(B
watson
September 2, 2013, 8:53am
2
(13/09/01 17:39), Watson wrote:
$B0JA0!“(BRuby-list $B$N(B
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/49573
$B$G$*J9$-$7$?$N$G$9$,!”$$$m$$$m;n$7$F$_$?$H$3$m(B
String#encode $B$G%O%s%0%kJ8;zA4HL$r(B UTF8-MAC $B$+$i(B UTF-8
$B$KJQ49$7$?:]!"(B
$B4|BT$9$k%P%$%HNs$K$J$j$^$;$s$G$7$?!#(B
2.1$B$G=$@5$7$?(BDir#each$B$N%P%0$N%P%0$G$O$J$$$+$H;W$$$^$9!#(B
watson
September 2, 2013, 9:22am
3
Watson $B$H?=$7$^$9!#(B
$B$4JVEz$"$j$,$H$&$4$6$$$^$9!#(B
$B;n9T$7$?4D6-$r5-=R$7K:$l$F$$j$^$7$?!#(B
Mac OS X 10.8 $B>e$G(B Ruby 1.9.3-p448 $B$H(B 2.0.0-p247
$B$rMQ$$$F;n$7$?$@$1$G(B
2.1 $B$G$O;n$7$F$ $j$^$;$s$G$7$?!#(B
1.9.x $B$+$i4{$K(B String#encode $B$G%O%s%0%kJ8;z$r(B UTF8-MAC $B$+$i(B
UTF-8 $B$KJQ49(B
$B$G$-$J$$$h$&$K8+$($^$7$?$N$G!“;EMM$J$N$+%P%0$J$N$+$r3NG’$7$?<!Bh$G$”$j$^$9!#(B
$B0J>e!"$h$m$7$/$*4j$$$7$^$9!#(B
2013$BG/(B9$B7n(B2$BF|(B 15:53 Nobuyoshi N. [email protected] :
watson
September 2, 2013, 4:21pm
4
$BMW$9$k$K(B
“\u{110b}\u{1161}\u{11ab}\u{1102}\u{1167}\u{11bc}\u{1112}\u{1161}\u{1109}\u{1166}\u{110b}\u{116d}”.encode(“UTF-8”,“UTF8-MAC”)
=> “\u{c548}\u{b155}\u{d558}\u{c138}\u{c694}”
$B$H$J$C$FM_$7$$$H$3$m!“$=$&$J$i$J$$!”$H$$$&OC$G$9$h$M!#(B
Ruby 1.9/2.0 $B$N(B UTF8-MAC $B$NJQ49%F!<%V%k$O8E$$(B Mac OS X
$B$N%G!<%?$K4p$E$$$F$$$k$N$G%O%s%0%kEy$rJQ49$7$^$;$s!#(B
2.1 $B$G$O:G?7$N<BAu$K4p$E$/$h$&$K$7$h$&$H;W$C$F$$$^$9!#(B
$B$A$J$$K!“(B2.0 $B$G$O(B iconv.gem $B$H$$$&$b$N$,;H$($^$9$,!”(B
$B:#8=: $N(B 2.1 $B$N(B Core Services $B%Y!<%9$N<BAu$b(B iconv $B$b(B
HFS+ $B$N5sF0$H0c$&$N$G%P%0$C$F$^$9!#(B
2013$BG/(B9$B7n(B2$BF|(B 16:21 Watson [email protected] :
watson
September 2, 2013, 4:35pm
5
了解しました。
ありがとうございます。
On 2013年9月2日 at 23:21:04, NARUSE, Yui ([email protected] ) wrote:
要するに
“\u{110b}\u{1161}\u{11ab}\u{1102}\u{1167}\u{11bc}\u{1112}\u{1161}\u{1109}\u{1166}\u{110b}\u{116d}”.encode(“UTF-8”,“UTF8-MAC”)
=> “\u{c548}\u{b155}\u{d558}\u{c138}\u{c694}”
となって欲しいところ、そうならない、という話ですよね。
Ruby 1.9/2.0 の UTF8-MAC の変換テーブルは古い Mac OS X のデータに基づいているのでハングル等を変換しません。
2.1 では最新の実装に基づくようにしようと思っています。
ちなみに、2.0 では iconv.gem というものが使えますが、
今現在の 2.1 の Core Services ベースの実装も iconv も HFS+ の挙動と違うのでバグってます。
2013年9月2日 16:21 Watson [email protected] :
期待するバイト列になりませんでした。
2.1で修正したDir#eachのバグのバグではないかと思います。
–
NARUSE, Yui [email protected]