要約
文字コードエンコーディングを変換するためのモジュール。 Kconv は nkf のラッパーです。
目次
- モジュール関数
 - 定数
 
モジュール関数
guess(str) -> Encoding | nil[permalink][rdoc][edit]- 
文字列 str のエンコーディングを判定します。戻り値は Kconv の定数です。
このモジュール関数で判定できるのは、
- ISO-2022-JP (Kconv::JIS)
 - Shift_JIS (Kconv::SJIS)
 - EUC-JP (Kconv::EUC)
 - ASCII (Kconv::ASCII)
 - UTF-8 (Kconv::UTF8)
 - UTF-16BE (Kconv::UTF16)
 - 不明 (Kconv::UNKNOWN)
 - 以上のどれでもない (Kconv::BINARY)
 
のいずれかです。
- [PARAM] str:
 - エンコーディング判定対象の文字列
 
 iseuc(str) -> bool[permalink][rdoc][edit]- 
文字列 str が EUC-JP なバイト列として正当であるかどうかを判定します。
- [PARAM] str:
 - 判定対象の文字列
 
[SEE_ALSO] String#iseuc
 isjis(str) -> bool[permalink][rdoc][edit]- 
文字列 str が ISO-2022-JP なバイト列として正当であるかどうかを判定します。
- [PARAM] str:
 - 判定対象の文字列
 
[SEE_ALSO] String#isjis
例
require 'kconv' euc_str = "\ \xa5\xaa\xa5\xd6\xa5\xb8\xa5\xa7\xa5\xaf\xa5\xc8\xbb\xd8\xb8\xfe\ \xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec\ \x52\x75\x62\x79".force_encoding('EUC-JP') jis_str = "\ \x1b\x24\x42\x25\x2a\x25\x56\x25\x38\x25\x27\x25\x2f\x25\x48\x3b\x58\x38\x7e\ \x25\x57\x25\x6d\x25\x30\x25\x69\x25\x5f\x25\x73\x25\x30\x38\x40\x38\x6c\x1b\x28\x42\ \x52\x75\x62\x79".force_encoding('ISO-2022-JP') euc_str.isjis # => false jis_str.isjis # => true issjis(str) -> bool[permalink][rdoc][edit]- 
文字列 str が Shift_JIS なバイト列として正当であるかどうかを判定します。
- [PARAM] str:
 - 判定対象の文字列
 
[SEE_ALSO] String#issjis
 isutf8(str) -> bool[permalink][rdoc][edit]- 
文字列 str が UTF-8 なバイト列として正当であるかどうかを判定します。
- [PARAM] str:
 - 判定対象の文字列
 
[SEE_ALSO] String#isutf8
 kconv(str, out_code, in_code = Kconv::AUTO) -> String[permalink][rdoc][edit]- 
文字列 str のエンコーディングを out_code に変換したものを返します。in_code も指定されていたら str のエンコーディングが in_code だとして動作します。
このメソッドはMIME エンコードされた文字列を展開し、いわゆる半角カナを全角に変換します。これらを変換したくない場合は、 NKF.#nkf を使ってください。
- [PARAM] str:
 - 変換元の文字列
 - [PARAM] out_code:
 - 変換後のエンコーディング
 - [PARAM] in_code:
 - strのエンコーディング
 
[SEE_ALSO] String#kconv
 toeuc(str) -> String[permalink][rdoc][edit]- 
文字列 str のエンコーディングを EUC-JP に変換して返します。
Kconv.kconv(str, Kconv::EUC)と同じです。
このメソッドは MIME エンコードされた文字列を展開し、いわゆる半角カナを全角に変換します。これらを変換したくない場合は、 NKF.#nkf('-exm0', str) を使ってください。
- [PARAM] str:
 - 変換元の文字列
 
[SEE_ALSO] Kconv.#kconv, String#toeuc
 tojis(str) -> String[permalink][rdoc][edit]- 
文字列 str のエンコーディングを iso-2022-jp に変換して返します。
Kconv.kconv(str, Kconv::JIS) と同じです。
このメソッドは MIME エンコードされた文字列を展開し、いわゆる半角カナを全角に変換します。これらを変換したくない場合は、 NKF.#nkf('-jxm0', str) を使ってください。
- [PARAM] str:
 - 変換元の文字列
 
[SEE_ALSO] Kconv.#kconv, String#tojis
 tolocale(str) -> String[permalink][rdoc][edit]- 
文字列 str のエンコーディングをロケールエンコーディングに変換して返します。
ロケールエンコーディングについては Encoding.locale_charmap を見てください。
このメソッドは MIME エンコードされた文字列を展開し、いわゆる半角カナを全角に変換します。これらを変換したくない場合は、 String#encode を使ってください。
Kconv.kconv(str, Encoding.locale_charmap)と同じです。
- [PARAM] str:
 - 変換元の文字列
 
[SEE_ALSO] String#tolocale
 tosjis(str) -> String[permalink][rdoc][edit]- 
文字列 str のエンコーディングを shift_jis に変換して返します。
このメソッドは MIME エンコードされた文字列を展開し、いわゆる半角カナを全角に変換します。これらを変換したくない場合は、 NKF.#nkf('-sxm0', str) を使ってください。
Kconv.kconv(str, Kconv::SJIS)と同じです。
- [PARAM] str:
 - 変換元の文字列
 
[SEE_ALSO] Kconv.#kconv, String#tosjis
 toutf16(str) -> String[permalink][rdoc][edit]- 
文字列 str のエンコーディングを UTF-16BE に変換して返します。
このメソッドは MIME エンコードされた文字列を展開し、いわゆる半角カナを全角に変換します。これらを変換したくない場合は、 NKF.#nkf('-w16xm0', str) を使ってください。
Kconv.kconv(str, Kconv::UTF16)と同じです。
- [PARAM] str:
 - 変換元の文字列
 
[SEE_ALSO] String#toutf16
 toutf32(str) -> String[permalink][rdoc][edit]- 
文字列 str のエンコーディングを UTF-32 に変換して返します。
このメソッドは MIME エンコードされた文字列を展開し、いわゆる半角カナを全角に変換します。これらを変換したくない場合は、 NKF.#nkf('-w32xm0', str) を使ってください。
Kconv.kconv(str, Kconv::UTF32)と同じです。
- [PARAM] str:
 - 変換元の文字列
 
[SEE_ALSO] String#toutf32
 toutf8(str) -> String[permalink][rdoc][edit]- 
文字列 str のエンコーディングを UTF-8 に変換して返します。
このメソッドは MIME エンコードされた文字列を展開し、いわゆる半角カナを全角に変換します。これらを変換したくない場合は、 NKF.#nkf('-wxm0', str) を使ってください。
Kconv.kconv(str, Kconv::UTF8)と同じです。
- [PARAM] str:
 - 変換元の文字列
 
[SEE_ALSO] String#toutf8
 
定数
ASCII -> Encoding[permalink][rdoc][edit]- 
ASCII を表します。
 AUTO -> nil[permalink][rdoc][edit]- 
エンコーディングを自動検出します。入力の指定でのみ有効です。
 BINARY -> Encoding[permalink][rdoc][edit]- 
JIS EUC SJIS 以外を表します。この値はKconv.#guessの返り値としてのみ用いられます。
 EUC -> Encoding[permalink][rdoc][edit]- 
EUC-JP を表します。
 JIS -> Encoding[permalink][rdoc][edit]- 
ISO-2022-JP を表します。
 NOCONV -> nil[permalink][rdoc][edit]- 
変換されないことを表します。出力エンコーディングの指定にのみ用います。
 SJIS -> Encoding[permalink][rdoc][edit]- 
Shift_JIS を表します。 cp932ではないことに注意してください。
 UNKNOWN -> nil[permalink][rdoc][edit]- 
出力においては「エンコーディングを判定できなかった」入力においては AUTO と同様に「自動検出」を表します。
 UTF16 -> Encoding[permalink][rdoc][edit]- 
UTF16 を表します。
 UTF32 -> Encoding[permalink][rdoc][edit]- 
UTF32 を表します。
 UTF8 -> Encoding[permalink][rdoc][edit]- 
UTF8 を表します。