У меня есть переменная javascript, которая хранит URL-адрес. Я должен отправить этот URL-адрес для выполнения операций, и поскольку URL-адрес может содержать специальные символы, я конвертирую его в шестнадцатеричный, чтобы избежать проблем. Бэкэнд-код не мой, я даже не вижу код.Какая кодировка символов используется в бэкэнде?
Кодировка работала нормально, когда я пытался с IP-адресами, например, если я хочу отправить «192.168.1.1» в JavaScript, я кодирую его в «3139322e3136382e312e31», а бэкэнд прекрасно это понимает.
Проблема возникает, когда я пытаюсь с доменом, то, что бэкэнд ожидает и что я посылаю не соответствует. Если я хочу отправить «cstmal» в JavaScript, я кодирую его на «6373746d616c», но сервер ждет «7066677A6e79».
Что не так? Я много смотрел, но я не могу найти ответ.
код я использую для кодирования является:
function encode(str) {
var result = "";
for (var i = 0; i < str.length; i++) {
result += str.charCodeAt(i).toString(16);
}
return result;
}
Короче говоря, вы знаете, что характер преобразования дает этот результат:
с = 70
s = 66
т = 67
м = 7A
а = 6E
л = 79
Спасибо!
Откуда вы знаете, что сервер «ждет»? Я серьезно сомневаюсь, что это реальная кодировка символов, которые, по вашему мнению, кодируются. – Pointy
Когда я делаю операцию создания, в BD создается ссылка с преобразованным доменом. Там я вижу, что они делают. –