«前の日記(2010-05-19) 最新 次の日記(2010-05-21)» 編集

会長@腹部日記


2010-05-20 [長年日記]

_ こんなバグがあるのねJRuby (4) - jruby.exeのマルチバイト引数

こんなコードに対する出力と 1.6.0devと1.3.1 の結果を比較します。

比較した結果から、JavaVMにたどり着く前にjruby.exeでマルチバイト引数データが壊れてる?となんとなく予想。

1.3.1

 >.\jruby.bat --version jruby_exe_test.rb a b c abcあア亜abc
 jruby 1.3.1 (ruby 1.8.6p287) (2009-06-15 2fd6c3d) (Java HotSpot(TM) Client VM 1.6.0_18) [x86-java]
 00:     a       =unpack=>       [97]
 01:     b       =unpack=>       [98]
 02:     c       =unpack=>       [99]
 03:     abcあア亜abc    =unpack=>       [97, 98, 99, 130, 160, 131, 65, 136, 159, 97, 98, 99]

1.6.0dev

 >.\jruby.exe --version jruby_exe_test.rb a b c abcあア亜abc
 jruby 1.6.0.dev (ruby 1.8.7 patchlevel 249) (2010-05-21 ${jruby.revision}) (Java HotSpot(TM) Client VM 1.6.0_18) [x86-java]
 00:     a       =unpack=>       [97]
 01:     b       =unpack=>       [98]
 02:     c       =unpack=>       [99]
 03:     abc???A =unpack=>       [97, 98, 99, 63, 63, 63, 65]

ActiveRuby 1.8.7

 >ruby --version
 ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mswin32]
 >ruby.exe jruby_exe_test.rb a b c abcあア亜abc
 00:     a       =unpack=>       [97]
 01:     b       =unpack=>       [98]
 02:     c       =unpack=>       [99]
 03:     abcあア亜abc    =unpack=>       [97, 98, 99, 130, 160, 131, 65, 136, 159, 97, 98, 99]

_ きょうのつぶやき : 26回