Skip to main content

binary_encoding_manipulation

🛠️ Manipulate Binary Data with String#b

When working with binary protocols or file formats, force a string into ASCII-8BIT to avoid Ruby’s default UTF-8 transcoding. Use String#b to return a binary-encoded copy, and String#force_encoding for in-place changes.

# copy to binary encoding
binary = "ABC".b
puts binary.encoding #=> #<Encoding:ASCII-8BIT>

# in-place override (dangerous if mixed content)
str = "Hello"
str.force_encoding("ASCII-8BIT")
puts str.encoding #=> #<Encoding:ASCII-8BIT>