模块 Kconv
Ruby 的汉字转换器。
常量
公共类方法
guess(str) → 编码 点击切换源代码
通过 NKF.guess
猜测输入编码。
# File nkf/lib/kconv.rb, line 141 def guess(str) ::NKF::guess(str) end
iseuc(str) → true 或 false 点击切换源代码
返回输入编码是否为 EUC-JP。
注意 不要期望此返回值为 MatchData。
# File nkf/lib/kconv.rb, line 156 def iseuc(str) str.dup.force_encoding(EUC).valid_encoding? end
isjis(str) → true 或 false 点击切换源代码
返回输入编码是否为 ISO-2022-JP。
# File nkf/lib/kconv.rb, line 174 def isjis(str) /\A [\t\n\r\x20-\x7E]* (?: (?:\x1b \x28 I [\x21-\x7E]* |\x1b \x28 J [\x21-\x7E]* |\x1b \x24 @ (?:[\x21-\x7E]{2})* |\x1b \x24 B (?:[\x21-\x7E]{2})* |\x1b \x24 \x28 D (?:[\x21-\x7E]{2})* )* \x1b \x28 B [\t\n\r\x20-\x7E]* )* \z/nox =~ str.dup.force_encoding('BINARY') ? true : false end
issjis(str) → true 或 false 点击切换源代码
返回输入编码是否为 Shift_JIS。
# File nkf/lib/kconv.rb, line 165 def issjis(str) str.dup.force_encoding(SJIS).valid_encoding? end
isutf8(str) → true 或 false 点击切换源代码
返回输入编码是否为 UTF-8。
# File nkf/lib/kconv.rb, line 193 def isutf8(str) str.dup.force_encoding(UTF8).valid_encoding? end
kconv(str, to_enc, from_enc=nil) 点击切换源代码
将 str
转换为 to_enc
。to_enc
和 from_enc
以 Kconv
的常量或 Encoding 对象的形式给出。
# File nkf/lib/kconv.rb, line 57 def kconv(str, to_enc, from_enc=nil) opt = '' opt += ' --ic=' + from_enc.to_s if from_enc opt += ' --oc=' + to_enc.to_s if to_enc ::NKF::nkf(opt, str) end
toeuc(str) → 字符串 点击切换源代码
将 str
转换为 EUC-JP
# File nkf/lib/kconv.rb, line 83 def toeuc(str) kconv(str, EUC) end
tojis(str) → 字符串 点击切换源代码
将 str
转换为 ISO-2022-JP
# File nkf/lib/kconv.rb, line 74 def tojis(str) kconv(str, JIS) end
tolocale → 字符串 点击切换源代码
将 self
转换为本地编码
# File nkf/lib/kconv.rb, line 128 def tolocale(str) kconv(str, Encoding.locale_charmap) end
tosjis(str) → 字符串 点击切换源代码
将str
转换为Shift_JIS
# File nkf/lib/kconv.rb, line 92 def tosjis(str) kconv(str, SJIS) end
toutf16(str) → string 点击切换源代码
将str
转换为UTF-16
# File nkf/lib/kconv.rb, line 110 def toutf16(str) kconv(str, UTF16) end
toutf32(str) → string 点击切换源代码
将str
转换为UTF-32
# File nkf/lib/kconv.rb, line 119 def toutf32(str) kconv(str, UTF32) end
toutf8(str) → string 点击切换源代码
将str
转换为UTF-8
# File nkf/lib/kconv.rb, line 101 def toutf8(str) kconv(str, UTF8) end
私有实例方法
guess(str) → 编码 点击切换源代码
通过 NKF.guess
猜测输入编码。
# File nkf/lib/kconv.rb, line 141 def guess(str) ::NKF::guess(str) end
iseuc(str) → true 或 false 点击切换源代码
返回输入编码是否为 EUC-JP。
注意 不要期望此返回值为 MatchData。
# File nkf/lib/kconv.rb, line 156 def iseuc(str) str.dup.force_encoding(EUC).valid_encoding? end
isjis(str) → true 或 false 点击切换源代码
返回输入编码是否为 ISO-2022-JP。
# File nkf/lib/kconv.rb, line 174 def isjis(str) /\A [\t\n\r\x20-\x7E]* (?: (?:\x1b \x28 I [\x21-\x7E]* |\x1b \x28 J [\x21-\x7E]* |\x1b \x24 @ (?:[\x21-\x7E]{2})* |\x1b \x24 B (?:[\x21-\x7E]{2})* |\x1b \x24 \x28 D (?:[\x21-\x7E]{2})* )* \x1b \x28 B [\t\n\r\x20-\x7E]* )* \z/nox =~ str.dup.force_encoding('BINARY') ? true : false end
issjis(str) → true 或 false 点击切换源代码
返回输入编码是否为 Shift_JIS。
# File nkf/lib/kconv.rb, line 165 def issjis(str) str.dup.force_encoding(SJIS).valid_encoding? end
isutf8(str) → true 或 false 点击切换源代码
返回输入编码是否为 UTF-8。
# File nkf/lib/kconv.rb, line 193 def isutf8(str) str.dup.force_encoding(UTF8).valid_encoding? end
kconv(str, to_enc, from_enc=nil) 点击切换源代码
将 str
转换为 to_enc
。to_enc
和 from_enc
以 Kconv
的常量或 Encoding 对象的形式给出。
# File nkf/lib/kconv.rb, line 57 def kconv(str, to_enc, from_enc=nil) opt = '' opt += ' --ic=' + from_enc.to_s if from_enc opt += ' --oc=' + to_enc.to_s if to_enc ::NKF::nkf(opt, str) end
toeuc(str) → 字符串 点击切换源代码
将 str
转换为 EUC-JP
# File nkf/lib/kconv.rb, line 83 def toeuc(str) kconv(str, EUC) end
tojis(str) → 字符串 点击切换源代码
将 str
转换为 ISO-2022-JP
# File nkf/lib/kconv.rb, line 74 def tojis(str) kconv(str, JIS) end
tolocale → 字符串 点击切换源代码
将 self
转换为本地编码
# File nkf/lib/kconv.rb, line 128 def tolocale(str) kconv(str, Encoding.locale_charmap) end
tosjis(str) → 字符串 点击切换源代码
将str
转换为Shift_JIS
# File nkf/lib/kconv.rb, line 92 def tosjis(str) kconv(str, SJIS) end
toutf16(str) → string 点击切换源代码
将str
转换为UTF-16
# File nkf/lib/kconv.rb, line 110 def toutf16(str) kconv(str, UTF16) end
toutf32(str) → string 点击切换源代码
将str
转换为UTF-32
# File nkf/lib/kconv.rb, line 119 def toutf32(str) kconv(str, UTF32) end
toutf8(str) → string 点击切换源代码
将str
转换为UTF-8
# File nkf/lib/kconv.rb, line 101 def toutf8(str) kconv(str, UTF8) end