Ruby: create a String from bytes

前端 未结 5 1315
眼角桃花
眼角桃花 2020-12-23 19:44

I would like to build a string from a byte value.

I currently use:

str = \" \"
str[0] = byte

This seems to work fine but I find it

5条回答
  •  萌比男神i
    2020-12-23 20:23

    There is a much simpler approach than any of the above: Array#pack:

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

    I believe pack is implemented in c in matz ruby, so it also will be considerably faster with very large arrays.

    Also, pack can correctly handle UTF-8 using the 'U*' template.

提交回复
热议问题