<div dir="ltr">It is an extremely rare case for a developer to know a priori what literal numeric indices should be used when indexing into a string, because it only applies when strings fall into a very specific format and encoding.<div><br></div><div>It&#39;s been discussed before during String-related proposals but AFAIK the core team has come out against it—it would be an invitation for users who don&#39;t understand the distinction to do very unsafe and wrong things with strings. IMO, writing your own extension or using index.offset(by:) isn&#39;t a huge penalty here.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 8, 2017 at 10:32 AM David Hart via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
When working with Strings which are known to be ASCII, I tend to use the UTF16View for the performance of random access. I would also like to have the convenience of indexing with Int:<br>
<br>
let barcode = &quot;M1XXXXXXXXX/CLEMENT   EELT9QBQGVAAMSEZY1353 244 21D 531  10A1311446838”<br>
let name = barcode.utf16[2..&lt;22]<br>
let pnrCode = barcode.utf16[23..&lt;30]<br>
let seatNo = barcode.utf16[47..&lt;51]<br>
let fromCity = barcode.utf16[30..&lt;33]<br>
let toCity = barcode.utf16[33..&lt;36]<br>
let carrier = barcode.utf16[36..&lt;39]<br>
let flightNumber = barcode.utf16[39..&lt;44]<br>
let day = barcode.utf16[44..&lt;47]<br>
<br>
I define my own subscript in an extension to UTF16View but I think this should go in the Standard Library.<br>
Any thoughts?<br>
<br>
David.<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div>