Actually, if I'm not mistaken, String (or at least, CFStringRef, to which String is toll-free bridged) does not re-encode anything eagerly. If you initialize with UTF8 bytes, it's stored internally as UTF8 bytes; if you initialize with UTF16 code units, it's stored internally as UTF16 code units. Re-encoding happens only when necessary--i.e. when you ask for UTF8 bytes from a UTF16-encoded string.
On Thu, Aug 18, 2016 at 2:34 PM, Kenny Leung via swift-evolution < [email protected]> wrote: > > > On Aug 18, 2016, at 11:51 AM, Félix Cloutier <[email protected]> wrote: > > Of course you'll have problems if you try to interpret UTF-8 as UTF-16 > and vice-versa, but that'll do you regardless of whether you use > international characters or not. > > This is exactly my point. Even if the internal representation is UTF-8 (or > UTF-16), you are not free from having to do conversions. You still need to > convert to the encoding format that is understood by the receiver. I make a > distinction between Unicode and Unicode encodings. > > -Kenny > > > > On Thursday, August 18, 2016 9:33 AM, Kenny Leung via swift-evolution < > [email protected]> wrote: > > > > > > >> Just because you are using UTF-8 as the internal format, it does not > mean that universal support is guaranteed. > > > > All I meant was this, and nothing more. If the internal format was > UTF-8, and you were using a filesystem whose filenames were UTF-16, you > would have the same problems. > > > > -Kenny > > > > > > > On Aug 17, 2016, at 10:40 PM, Félix Cloutier <[email protected]> > wrote: > > > > > >> In Félix’s case, I would expect to have to ask for a mail-friendly > representation of his name, just like you have to ask for a > filesystem-friendly representation of a filename regardless of what the > internal representation is. Just because you are using UTF-8 as the > internal format, it does not mean that universal support is guaranteed. > > > > > > Would you imagine if "n" turned out to be poorly supported by systems > throughout the world and dead-serious people argued that it's too hard for > beginners? > > > > > > "Filesystem-friendly" and "email-friendly" names are not backed by > modern standards. You can have essentially any character that you like in a > file name save for the directory separator on almost every platform out > there (except on Windows, but the constraints are implemented in a layer > above NTFS), and addresses like félix@... are RFC-legal. Restrictions are > merely wished into existence by programmers who don't want to complicate > their mental model of text processing, to everyone else's detriment. > > > > > > Félix > > > > _______________________________________________ > > swift-evolution mailing list > > [email protected] > > https://lists.swift.org/mailman/listinfo/swift-evolution > > > > > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
