From: "NARUSE, Yui" Date: 2010-05-23T19:42:09+09:00 Subject: [ruby-core:30376] Re: suggestion: switch default name for BINARY encoding (2010/05/22 9:13), Roger Pack wrote: >>> Currently the encoding ASCII-8BIT "means" ascii and binary. >> >> No. ASCII-8BIT means ASCII compatible 8bit string; it has 256 characters. > > I believe it actually means two things, depending on context, no? No. >> No. ASCII-8BIT is not a default in Ruby. >> You may confused by the fact that rb_str_new returns ASCII-8BIT string >> and old extension library returns such strings. > > BINARY is the default, when you pass an encoding of nil...seems like > it's the default.. It is removed. > "a".force_encoding(nil) TypeError: can't convert nil into String from (irb):1:in `force_encoding' from (irb):1 from /home/naruse/local/ruby-trunk/bin/irb:12:in `
' > Apparently BINARY means "unencoded bytes" which happens to be the same > encoding as ASCII-8BIT No. >>> Beginners have no idea what ASCII-8BIT means. But they do understand >>> BINARY. >> >> ASCII-8BIT is different from the thing people will imagine by the name >> "BINARY", >> even if it aliased as BINARY. > > Good point, actually. I take back my suggestion. > > However it is a bit confusing to have binary data (File.binread 'x') > and have it come back to you as ASCII-8BIT. A jpeg image, for > example, is *not really* ASCII-8BIT. It happens to have the same > encoding, however. No, it is ASCII-8BIT. This is why you can data.include?("JFIF"). > ... >> The name "BINARY" can't express it is ASCII-compatible. > > I think that the ambiguity is that "ASCII-8BIT" typically means "just > some data--it might be a string, it might be binary" so it's hard to > have a good name for its encoding. > > Maybe we can call it ASCII-8BIT-BINARY? Or maybe UNKNOWN or > UNSPECIFIED or something... > > I'd be ok with that. We could alias the others... Why you want to give simple but misleading name? I want developers to read document when they meet ASCII-8BIT. -- NARUSE, Yui