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