Как мы можем добиться кодирования utf8, используя utf8bytes = unescape (encodeURIComponent (unicodecharacters))? - PullRequest
0 голосов
/ 06 октября 2019

Как я знаю, encodeURIComponent преобразует строки в кодировку символов UTF-8, если это так, тогда мы используем unescape для получения кодировки UTF-8. Unescape вернет ASCII строку из hexadecimal encoding, следовательно, она будет декодировать строку. Я сослался на это http://xkr.us/articles/javascript/encode-compare/

1 Ответ

0 голосов
/ 07 октября 2019

Нет. В JavaScript String является подсчитанной последовательностью кодовых единиц UTF-16. Если вам нужна другая кодировка символов, вы используете другой тип данных, например, Buffer или UInt8Array. И, таким образом, ни один Unescape не возвращает ASCII-строку;хотя он может вернуть строку только с C0 Controls и Basic Latin кодовыми точками.

(Но, да, очень распространенным условием для добавления не-ASCII в URL (после протокола, имени домена и любого порта, пароля и имени пользователя) является% -кодирование некоторых байтов, и очень распространенноеСоглашение, для которого байты для вставки URL-адреса заключаются в кодировании текста UTF-8.

...