Мой вопрос относится к базам данных (и, в частности, SQL Server): в официальном руководстве упоминается, что при использовании «NVARCHAR/NCHAR» используется «2 байта хранения на символ» и «если необходима суррогатная пара , для символа потребуется 4 байта памяти ». Как использовать 4 байта, когда необходима суррогатная пара? как эта «необходимость» будет передана с SQL Server и как она будет известна? Я просто не знаю, как это получится - когда я программировал, я бы либо определил что-то как UTF-8, 16 или 32. Кажется, что SQL Server принимает только UTF-16, и он каким-то образом использует суррогатная пара при необходимости. Может ли кто-нибудь объяснить мне, как это должно работать? Кроме того, я действительно очень ценю источники и ссылки, чтобы я мог больше изучить его.Как работает концепция «Суррогатная пара» в базе данных?
Я попытался прочитать о суррогатных парах, и там практически нет ничего, кроме источников, которые просто касаются поверхности и объясняют, что «суррогатная пара - это всего лишь механизм для представления символов UTF-32 с использованием двух UTF-16».
Большое спасибо и жаль о длительном вопросе.