<div class="gmail_quote">2010/8/13 Gábor Lehel <span dir="ltr">&lt;<a href="mailto:illissius@gmail.com">illissius@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">How about the case for text which is guaranteed to be in ascii/latin1?</div></div>
ByteString again?<br></blockquote><div> </div></div>If you know it&#39;s text and not binary data you are working with, you should still use Data.Text. There are a few good reasons.<div><ol><li>The API is more correct. For instance, if you use Text.toUpper on a string containing latin1 &quot;<span class="Apple-style-span" style="font-family: verdana, arial, helvetica, code2000, sans-serif; border-collapse: collapse; ">ß&quot; (eszett, sharp S), you&#39;ll get the two-character sequence &quot;SS&quot;, which is correct. Using Char8.map Char.toUpper here gives the wrong answer.</span></li>
<li><span class="Apple-style-span" style="font-family: verdana, arial, helvetica, code2000, sans-serif; border-collapse: collapse; ">In many cases, the API is easier to use, because it&#39;s oriented towards using text data, instead of being a port of the list API.</span></li>
<li><span class="Apple-style-span" style="font-family: verdana, arial, helvetica, code2000, sans-serif; border-collapse: collapse; ">Some commonly used functions, such as substring searching, are <i>way</i> faster than their ByteString counterparts.</span></li>
</ol></div>