从 digest::hmac 获取单个 unicode 字符串

Get single unicode string from 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)

Returns 字符向量

64 d9 cb 13 d3 f9 5c 0a 4c 1d 47 d2 d5 9d ab 24 25 3f f3 20

但我希望它成为 return 单个字符串 '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()

额外的上下文是我需要字符串来创建使用高级帐户调用 google 距离矩阵 API 的签名。

digest::hmac(.., raw=TRUE) 实际上并没有返回字符向量,它在 R 中返回了一个 "raw" 向量。要将其转换为字符串,请使用

rawToChar(signature)