如何通过
ruby | ror检查字符集是否采用utf-8编码?
解决方法
在
Ruby和其他任何地方都没有明确的方法可以做到这一点:
str = 'foo' # start with a simple string # => "foo" str.encoding # => #<Encoding:UTF-8> # which is UTF-8 encoded str.bytes.to_a # => [102,111,111] # as you can see,it consists of three bytes 102,111 and 111 str.encode!('us-ascii') # now we will recode the string to 8-bit us-ascii encoding # => "foo" str.encoding # => #<Encoding:US-ASCII> str.bytes.to_a # => [102,111] # see,same three bytes str.encode!('windows-1251') # let us try some cyrillic # => "foo" str.encoding # => #<Encoding:Windows-1251> str.bytes.to_a # => [102,the same three again!