Для запроса, содержащего символ utf-8, журналы nginx кодируются следующим образом:
GET /asdf?v=\xE2\x86\x92 HTTP/1.1
, где \xE2\x86\x92
- символ utf-8 →
.
Браузеры кодируют URL-адрес как /%E2%86%92
, который я легко могу декодировать с помощью decodeURIComponent:
console.log(decodeUriComponent('/%E2%86%92')) // /→
Однако я не могу найти какой-либо метод для декодирования шестнадцатеричных символов.
Когда я записываю шестнадцатеричные символы, он также выдает странный вывод:
var str = '\xE2\x86\x92'
console.log(str) // �
str // â\u0086\u0092
decodeURIComponent(str) // â\u0086\u0092
Как правильно декодировать эти шестнадцатеричные символы?