我有一個包含ASCII字符十六進制代碼值的字符串,例如, "666f6f626172"
。我想將其轉換爲相應的字符串("foobar"
)。使用十六進制ASCII碼將字符串轉換爲字符
這是工作,但醜:
"666f6f626172".scan(/../).map(&:hex).map(&:chr).join # => "foobar"
有沒有更好的(更簡潔)的方式?某種程度上可以幫助unpack
嗎?
我有一個包含ASCII字符十六進制代碼值的字符串,例如, "666f6f626172"
。我想將其轉換爲相應的字符串("foobar"
)。使用十六進制ASCII碼將字符串轉換爲字符
這是工作,但醜:
"666f6f626172".scan(/../).map(&:hex).map(&:chr).join # => "foobar"
有沒有更好的(更簡潔)的方式?某種程度上可以幫助unpack
嗎?
'pack' /'unpack'對我來說永遠是個謎。 –
斯特凡已經釘它,但這裏是你可能想弄走了另一個時間和地點的選擇:
"666f6f626172".gsub(/../) { |pair| pair.hex.chr } # => "foobar"
類似'[「666f6f626172」]包(「H *」)'? – Stefan
@Stefan。對就像那樣。您能否將此作爲答案發布? –