Ваши данные, прочитанные в JavaScript, будут в формате без кодирования (строго говоря, это должно быть в Unicode Normalized Form C, но Unicode - это всего лишь серия идентификационных номеров для каждого глифа в лексике Unicode , Это без кодирования). Итак: если вам нужны данные, закодированные как последовательность байтов UTF-16, сделайте это, а затем base64 закодируйте это.
Но вот забавная часть: какой UTF-16 вам нужен? Маленький или Большой Эндиан? С или без спецификации? UTF-16 - это действительно неудобный формат кодирования (мы даже не собираемся касаться UCS-2, он устарел. Был надолго).
Что вам действительно нужно, так это получить текстовое значение из вашего HTML-элемента, Base64 закодировать его значение, а затем получить то, что получает, что данные распаковывают его как UTF8; не пытайтесь заставить JavaScript работать больше, чем нужно. Я предполагаю, что вы отправляете эти данные на сервер или что-то в этом роде: ваш серверный язык более сложный, чем JavaScript, и может распаковать текст примерно в миллион разных кодировок благодаря встроенным функциям. Так что просто используйте это. Don't solve Y for X.
В чем вопрос? Как сгенерировать то же, что и в UTF-8? Я полагаю, что не – Alexander