...it's trivial to get UTF-8 strings into and out of an NSString though so the internal representation doesn't matter all that much.
More importantly, all of the actual user-facing side of macOS is UTF-8 (e.g. you can simply copy-paste an UTF-8 encoded UNICODE string literal into a C source file, printf() it and it will show up correctly on the terminal without tinkering with text editor or locale settings).
...it's trivial to get UTF-8 strings into and out of an NSString though so the internal representation doesn't matter all that much.
More importantly, all of the actual user-facing side of macOS is UTF-8 (e.g. you can simply copy-paste an UTF-8 encoded UNICODE string literal into a C source file, printf() it and it will show up correctly on the terminal without tinkering with text editor or locale settings).