Encoding.name_list
Encoding.find('US-ASCII') #=> US-ASCII,不存在則拋出異常
__ENCODING__ #=> UTF-8, (__ENCODING__用做建立字符串的編碼)
這裏提一下:ruby
# -*- coding:gbk -*- __ENCODING__ #=> GBK # -*- coding:utf-8 -*- __ENCODING__ #=> UTF-8
源代碼文件中,若包含中文編碼,則須要注意兩點:編輯器
'法海你不懂愛'.encoding #=> UTF-8
# -*- coding:utf-8 -*-
'法海你不懂愛'.force_encoding('gbk') #=> 娉曟搗浣犱笉鎳傜埍
注意:force_encoding方法只是改變了字符串對象的編碼信息,並無改變字符串對象實際存儲的內容,這裏‘法海你不懂愛’實際是以utf-8的編碼存儲的,如今修改了他的編碼方式爲gbk,ruby就會以gbk的方式來解碼,因此最後解出來亂碼了編碼
# -*- coding:utf-8 -*- '法海你不懂愛'.encode('gbk') #=> '法海你不懂愛' '法海你不懂愛'.encode!('gbk') #=> '法海你不懂愛'
注意:encode改變了編碼信息同時也改變了字符串對象存儲的內容spa
參考:code