Меня немного смущает преобразование кодовых точек Unicode-символов в UTF-16, и я ищу кого-то, кто мог бы объяснить это мне самым простым способом.
Для символов типа "?" мы получаем;
d801dc8c --> UTF-16
0001048c --> UTF-32
f090928c --> UTF-8
66700 --> Decimal Value
Итак, шестнадцатеричное значение UTF-16 преобразуется в "11011000 00000001 11011100 10001100
", что означает "3624000652
" в десятичном значении, поэтому мой вопрос заключается в том, как получить это значение в шестнадцатеричном формате? и как мы можем преобразовать его обратно в реальную кодовую точку "66700
". ???
Шестнадцатеричное значение UTF-32 преобразуется в "00000000 0000001 00000100 10001100
", что означает "66700
" в десятичном формате, но значение UTF-16 не преобразуется обратно в "66700
", и вместо этого мыget "3624000652
".
Как на самом деле происходит преобразование ??
Как для UTF-8 ,, 4-байтовое кодирование выглядит так11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
Но как это происходит в UTF-16 ?? Если кто-нибудь сможет объяснить мне это как можно проще, тогда это будет огромной помощью, потому что я искал это как последние несколько дней и не смог найти хорошего ответа, который имеет смысл для меня.
Сайтами, которые я использовал для конвертации, были Branah.com и rapidtables.com