News for hackers. Stuff that matters.
Re:It’s Not Wrong that “ ”.length == 7 by tialaramex on Friday June 02, 2023 @09:48AM (#36165016)
UCS-2 is dead. You can't express Unicode in UCS-2. If you have old UCS-2 data you can just treat it as UTF-16, maybe check for encoding irregularities but if it was really UCS-2 correct Unicode it'll be fine.

UTF-16 length is only useful if you are moving UTF-16, perhaps for interop with other software that chose UTF-16. Remember to pass on your condolences and look forward to a day when we don't do that any more.

Re:It’s Not Wrong that “ ”.length == 7 by blueflow on Friday June 02, 2023 @09:50AM (#36165050)
UCS-2 support is shipped with every modern x86 firmware. UEFI system partitions use it for VFAT name encoding.
Re:It’s Not Wrong that “ ”.length == 7 by lxgr on Friday June 02, 2023 @10:53AM (#36165925)
> UTF-16 length is only useful if you are moving UTF-16 [...] Remember to pass on your condolences and look forward to a day when we don't do that any more.

Java/the JVM says hi!

Arguably, "how many bytes does this string occupy in memory/on disk (e.g. in class files)" is a pretty useful thing to be able to ask.

Re:It’s Not Wrong that “ ”.length == 7 by tialaramex on Friday June 02, 2023 @11:36AM (#36166571)
> Arguably, "how many bytes does this string occupy in memory/on disk (e.g. in class files)" is a pretty useful thing to be able to ask.

Sure. On disk those strings are (modified) UTF-8 of course, is that what you meant ?

Re:It’s Not Wrong that “ ”.length == 7 by lxgr on Friday June 02, 2023 @12:55PM (#36167637)
On disk yes, at runtime it's still UTF-16, I believe.

This is still relevant for many databases as well, as far as I remember.