Ruby:从字节创build一个string

我想从字节值build立一个string

我目前使用:

str = " " str[0] = byte 

这似乎工作正常,但我觉得它很丑,并不是可扩展的string超过1个字符。

任何想法?

4 Solutions collect form web for “Ruby:从字节创build一个string”

有一个比上述任何更简单的方法: Array#pack :

 >> [65,66,67,68,69].pack('c*') => "ABCDE" 

我相信pack是在matz ruby​​中用c实现的,所以用非常大的数组也会快很多。

此外,包可以使用'U *'模板正确处理UTF-8。

对于1.9你需要:

 [195,164].pack('c*').force_encoding('UTF-8') 

不记得是否有一个单一的function,这样做:

 >> a = [65,66,67] => [65, 66, 67] >> a.map {|x| x.chr}.join => "ABC" 

如果字节是一个Fixnum的数组,你可以试试这个:

 bytes.map {|num| num.chr}.join 

或这个:

 s = '' bytes.each {|i| s << i} 
  • 两个string文字的连接是如何工作的?
  • 我如何在swift 3.0中连接多个可选string?
  • 如何configurationweb.config以允许任何长度的请求
  • MySql查询在select中用空stringreplaceNULL
  • PHP - 连接或直接在string中插入variables
  • 如何通过查询连接PostgreSQL'组中的string字段的string?
  • Python打印string到文本文件
  • 你如何使用逐字string插值?
  • .NET / C# - 将char 转换为string
  • 我应该如何删除string中的所有空格? - 迅速
  • 删除“。”后的部分string