octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #54170] java.lang.String.toCharArray result in


From: Andrew Janke
Subject: [Octave-bug-tracker] [bug #54170] java.lang.String.toCharArray result incorrect conversion to char matrix
Date: Mon, 25 Jun 2018 02:35:59 -0400 (EDT)
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Follow-up Comment #10, bug #54170 (project octave):

Here's a concrete example that might help discussion.

Consider the case of `cs = {'foo', 'föö', 'foobar'}'`, and how it looks in
2-D char form.

>From Matlab R2018a:


>> cs = {'foo', 'föö', 'foobar'}'
cs =
  3×1 cell array
    {'foo'   }
    {'föö'   }
    {'foobar'}
>> char(cs)
ans =
  3×6 char array
    'foo   '
    'föö   '
    'foobar'


In Matlab, this can be round-tripped through java.lang.String and produce the
same results.


>> cs2 = cs; for i = 1:numel(cs); cs2{i} =
java.lang.String(cs{i}).toCharArray'; end
>> char(cs2)
ans =
  3×6 char array
    'foo   '
    'föö   '
    'foobar'
>> isequal(cs, cs2)
ans =
  logical
   1


If the individual char[] results of that operation were transcoded to UTF-8
before being returned as Octave values, you might end up with different values
for cs/cs2, or not be able to produce that 2-D array.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?54170>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]