Javascript: как кодировать из utf-8 в iso-8859-1, а также декодировать с него - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть текст в UTF8, и я хочу преобразовать его в iso-8859-1. Также у меня есть текст в iso-8859-1, и я хочу кодировать в UTF8.

Я думаю, что это невозможно с использованием встроенных функций, так есть ли какая-нибудь хорошая библиотека для этого? Я использую чистый javascript для браузера, а не nodejs, не использую веб-пакет и т. Д. c.

Спасибо.

1 Ответ

0 голосов
/ 24 апреля 2020

Вам необходимо использовать decodeURIComponent в дополнение к escape до go в / из UTF8 / ISO-8859-1

См. эту статью для получения дополнительной информации о ней .

Декодировать UTF-: fixedstring = decodeURIComponent(escape(utfstring));

Декодировать ISO-8859-1: utfstring = unescape(encodeURIComponent(originalstring));

Чтобы узнать, является ли строка UTF-8:

var fixedstring;

try{
    // If the string is UTF-8, this will work and not throw an error.
    fixedstring=decodeURIComponent(escape(badstring));
}catch(e){
    // If it isn't, an error will be thrown, and we can assume that we have an ISO string.
    fixedstring=badstring;
}
...