From: merch-redmine@... Date: 2018-06-21T14:26:39+00:00 Subject: [ruby-core:87579] [Ruby trunk Bug#14863] Array#join with empty array returns empty string always in US-ASCII encoding Issue #14863 has been updated by jeremyevans0 (Jeremy Evans). xsimov (Xavier Sim��) wrote: > Calling > ~~~ > irb(main):001:0> [].join.encoding > => # > ~~~ > returns an empty string and that empty string is always in US-ASCII encoding. > > The expected result is that the returned empty string would be in UTF-8 since it seems to be the default for Ruby strings since 2.0. UTF-8 is the default for literal strings, not the default for all strings. Note that strings will automatically change their encoding from US-ASCII to UTF-8 if a UTF-8 string that uses non-ASCII characters is appended to them. ~~~ $ ruby -e 'p ([].join << "\u1234").encoding' # ~~~ ---------------------------------------- Bug #14863: Array#join with empty array returns empty string always in US-ASCII encoding https://bugs.ruby-lang.org/issues/14863#change-72585 * Author: xsimov (Xavier Sim��) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: 2.4.2 * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- Calling ~~~ irb(main):001:0> [].join.encoding => # ~~~ returns an empty string and that empty string is always in US-ASCII encoding. The expected result is that the returned empty string would be in UTF-8 since it seems to be the default for Ruby strings since 2.0. -- https://bugs.ruby-lang.org/ Unsubscribe: