Rubyリファレンス: Home

valid_encoding? (String)

Edit   History

Ruby 1.9

標準クラス・モジュール > String > valid_encoding?

str.valid_encoding?

valid_encoding?メソッドは、文字列が持っている文字コード情報を元にバイト列を調べます。その文字コードのバイト列として正しい場合はtrue、不正な場合はfalseを返します。

次の例では、文字列u_strに"あ"を表すUTF-8のバイト列を、s_strにShift_JISのバイト列を入れています。マジックコメントがUTF-8なので、文字列u_strs_strも持っている文字コード情報はUTF-8です。文字列s_strはUTF-8のバイト列ではないので結果はfalseになります。

# encoding: utf-8
u_str = "\xe3\x81\x82"  # utf-8
puts u_str.valid_encoding?
s_str = "\x82\xa0"      # Shift_JIS
puts s_str.valid_encoding?
true
false

関連項目