> People expect there to be a .len() This is the assumption that I object to. People expect there to be a .len() because strings have been fundamentally broken since time immemorial. Make people type .byte_len() and be explicit about their desire to index via code units.
On Wed, May 28, 2014 at 1:12 PM, Kevin Ballard <ke...@sb.org> wrote: > It's .len() because slicing and other related functions work on byte > indexes. > > We've had this discussion before in the past. People expect there to be a > .len(), and the only sensible .len() is byte length (because char length is > not O(1) and not appropriate for use with most string-manipulation > functions). > > Since Rust strings are UTF-8 encoded text, it makes sense for .len() to be > the number of UTF-8 code units. Which happens to be the number of bytes. > > -Kevin > > On May 28, 2014, at 7:07 AM, Benjamin Striegel <ben.strie...@gmail.com> > wrote: > > I think that the naming of `len` here is dangerously misleading. Naive > ASCII-users will be free to assume that this is counting codepoints rather > than bytes. I'd prefer the name `byte_len` in order to make the behavior > here explicit. > > > On Wed, May 28, 2014 at 5:55 AM, Simon Sapin <simon.sa...@exyr.org> wrote: > >> On 28/05/2014 10:46, Aravinda VK wrote: >> >>> Thanks. I didn't know about char_len. >>> `unicode_str.as_slice().char_len()` is giving number of code points. >>> >>> Sorry for the confusion, I was referring codepoint as character in my >>> mail. char_len gives the correct output for my requirement. I have >>> written javascript script to convert from string length to grapheme >>> cluster length for Kannada language. >>> >> >> Be careful, JavaScript’s String.length counts UCS-2 code units, not code >> points… >> >> >> -- >> Simon Sapin >> _______________________________________________ >> Rust-dev mailing list >> Rust-dev@mozilla.org >> https://mail.mozilla.org/listinfo/rust-dev >> > > _______________________________________________ > Rust-dev mailing list > Rust-dev@mozilla.org > https://mail.mozilla.org/listinfo/rust-dev > > >
_______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev