Вы не сказали, что именно вы подразумеваете под «поддержкой».Но нет ничего особенного, что вам нужно сделать, чтобы работать с символами, которые не вписываются в один 16-битный char
, если вы не выполняете строковые манипуляции.Они будут просто представлены как суррогатные пары, но вам не нужно знать об этом, если вы рассматриваете string
в целом.
Единственное исключение - некоторые методы манипуляции со строками не будут работать правильно.Например, "\U0001F4A9".Substring(1)
вернет вторую половину суррогатной пары, которая не является допустимой строкой.