Получить единственную строку юникода из digest::hmac
Как я могу получить одну строку Unicode в качестве подписи ниже (вместо символьного вектора (который, кажется, содержит кусочки строк Unicode)?
Например
library(digest)
raw_key = 'QQrawkeyrawkeyrawkeyrawkey4='
key = RCurl::base64Decode(raw_key)
url_test = 'example_url'
signature <- digest::hmac(key, url_test, algo = "sha1", raw = T)
Возвращает символьный вектор
64 d9 cb 13 d3 f9 5c 0a 4c 1d 47 d2 d5 9d ab 24 25 3f f3 20
Но я хочу, чтобы он возвращал единственную строку 'd\xd9\xcb\x13\xd3\xf9\\nL\x1dG\xd2\xd5\x9d\xab$%?\ Xf3 '
Фон:
Я пытаюсь сделать так, чтобы код R работал так же, как код Python ниже (я не очень разбираюсь в Python).
raw_key = 'QQrawkeyrawkeyrawkeyrawkey4='
key = base64.urlsafe_b64decode(raw_key)
url_test = 'example_url'
hmac.new(key, url_test.encode(), hashlib.sha1).digest()
Дополнительный контекст заключается в том, что мне нужно создать строку, чтобы создать подпись для вызова API матрицы расстояний Google с использованием премиум-аккаунта.
1 ответ
digest::hmac(.., raw=TRUE)
фактически не возвращает символьный вектор, он возвращает "сырой" вектор в R. Чтобы преобразовать это в строку, используйте
rawToChar(signature)