Skip to content

End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

instance method

String#valid_encoding?

str.valid_encoding? → true or false

Returns true for a string which is encoded correctly.

Example
"\xc2\xa1".force_encoding("UTF-8").valid_encoding?  #=> true
"\xc2".force_encoding("UTF-8").valid_encoding?      #=> false
"\x80".force_encoding("UTF-8").valid_encoding?      #=> false
See also #upto #upcase! also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.1