也许这会有所帮助:
puts Encoding.list
puts Encoding.aliases
Run Code Online (Sandbox Code Playgroud)
它返回一个加载的编码列表,以及一个编码别名的哈希:
ASCII-8BIT
UTF-8
US-ASCII
Big5
CP949
Emacs-Mule
EUC-JP
EUC-KR
EUC-TW
...
{"BINARY"=>"ASCII-8BIT", "CP437"=>"IBM437", "CP737"=>"IBM737", "CP775"=>"IBM775",
"IBM850"=>"CP850", "CP857"=>"IBM857", "CP860"=>"IBM860", "CP861"=>"IBM861",
"CP862"=>"IBM862", "CP863"=>"IBM863", "CP864"=>"IBM864", "CP865"=>"IBM865", ...
Run Code Online (Sandbox Code Playgroud)
该列表不是由Ruby维护的,因此您无法从Ruby中执行此操作.Ruby只使用你在系统上安装的任何iconv.如果你有完整的iconv安装,你可以从iconv获取列表,如,
iconv /l
Run Code Online (Sandbox Code Playgroud)
如果您只有库(iconv.dll),则无法获取列表.
大多数实现基于GNU iconv,列表非常静态.你可以去任何Linux机器并输入"iconv -l"来获取列表.