[ruby-dev:47869] [Mac OS X] Dir.glob で取得したファイル名のバイト列が異なる

From: Watson <watson1978@...>
Date: 2014-01-03 07:33:35 UTC
List: ruby-dev #47869
Ruby 2.0 までは OS X のファイル名を Dir.glob で取得したときには
OS X ファイルシステムが返す Normalization Form D バイト列が Dir.glob で
取得されておりました。

Ruby 2.1 からは Normalization Form C に変換したバイト列が Dir.glob で
取得されるようになっているようなのですが、仕様が変わったのでしょうか?

% cat test.rb 
system "touch 'が'"
Dir.glob("*").each do |file|
  next if file == $0
  puts "** #{file} **"
  file.each_byte do |b|
    p b
  end
end

% ruby -v test.rb
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
** が **
227
129
139
227
130
153

% ruby -v test.rb
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin13.0]
** が **
227
129
140

In This Thread

Prev Next