<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Well, that boat sailed a long time ago.</p>
<p>The interoperability between (Byte)String and UnicodeString does
exactly the same as interoperability between
SmallInteger/LargeInteger/Fraction/Float. With numbers, this only
matters when dealing with the external world, where you need to
ensure you're using the required primitive type, and not what
Smalltalk choses for you. Same here. #asByteString to the rescue.</p>
<p>See
<a class="moz-txt-link-freetext" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Documentation/Papers/2022-11-UnicodeSupportInCuisSmalltalk.pdf">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Documentation/Papers/2022-11-UnicodeSupportInCuisSmalltalk.pdf</a></p>
<p>Hope this helps,</p>
<div class="moz-cite-prefix">On 2026-07-01 11:59 AM, Phil B via
Cuis-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAMJMOeieRkPZoLFjPg8W8xXvYoW2c+0v+oY=HdW=yuB8TY7D0w@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">Sorry... forgot to reply all.
<div><br>
</div>
<div>To put it more succinctly: rather than assume that anywhere
you have a string/stream it's just as good to substitute a
Unicode string/stream, it really seems like it should be
opt-in via #asUnicodeString or #asUniFileStream for coercion
or explicit at instance creation time. That makes the
contract clear and you don't get something other than what you
want/need.</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Jul 1, 2026 at
11:52 AM Phil B <<a href="mailto:pbpublist@gmail.com"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">pbpublist@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">I hear what you're saying but that assumption
breaks a lot of code. They are *similar* to String, but
they are actually very different creatures and only
superficially protocol compatible<span
style="background-color:transparent">. (i.e. you often
cannot substitute a UnicodeString for a String without
severely breaking things... even when 'String' is nowhere
in the source code that breaks) I have had to ugly up a
lot of code to get out of the implicit opt-in to Unicode
that Cuis has done on this front.[1] Please don't rename
String... that would make things 100x worse.</span>
<div><span style="background-color:transparent"><br>
</span></div>
<div><span style="background-color:transparent">[1] </span><span
style="background-color:transparent">i.e. 'where the
hell did that UnicodeString come from?' when I didn't
want it... usually when dealing with a DNU error
dialog. Even when I resolve the DNU, the breakage often
continues on down the chain because you can't just
substitute UnicodeString for String when you're dealing
with FFI, web APIs, file formats etc.</span></div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Jul 1, 2026 at
11:16 AM Juan Vuletich <<a href="mailto:juan@cuis.st"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">juan@cuis.st</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi
Phil,<br>
<br>
On 2026-07-01 10:27 AM, Phil B via Cuis-dev wrote:<br>
> Is there a reason UnicodeString asString returns self
rather than a <br>
> String?<br>
><br>
Yes. UnicodeStrings are conceptually Strings. Perhaps we'd
rename String <br>
as ByteString, and CharacterSequence as String.<br>
<br>
In any case, just use #asByteString that does what you
want.<br>
<br>
Cheers,<br>
<br>
-- <br>
Juan Vuletich<br>
<a href="http://www.cuis.st" rel="noreferrer"
target="_blank" moz-do-not-send="true">www.cuis.st</a><br>
<a href="http://github.com/jvuletich" rel="noreferrer"
target="_blank" moz-do-not-send="true">github.com/jvuletich</a><br>
<a href="http://researchgate.net/profile/Juan-Vuletich"
rel="noreferrer" target="_blank" moz-do-not-send="true">researchgate.net/profile/Juan-Vuletich</a><br>
<a href="http://independent.academia.edu/JuanVuletich"
rel="noreferrer" target="_blank" moz-do-not-send="true">independent.academia.edu/JuanVuletich</a><br>
<a
href="http://patents.justia.com/inventor/juan-manuel-vuletich"
rel="noreferrer" target="_blank" moz-do-not-send="true">patents.justia.com/inventor/juan-manuel-vuletich</a><br>
<br>
</blockquote>
</div>
</blockquote>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
</blockquote>
<pre class="moz-signature" cols="72">--
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis.st">www.cuis.st</a>
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich</pre>
</body>
</html>