Skip to Content Skip to Search

Kanji Converter for Ruby.

Methods
G
I
K
T

Constants

ASCII = NKF::ASCII
 

ASCII

AUTO = NKF::AUTO
 

Auto-Detect

BINARY = NKF::BINARY
 

BINARY

EUC = NKF::EUC
 

EUC-JP

JIS = NKF::JIS
 

ISO-2022-JP

NOCONV = NKF::NOCONV
 

NOCONV

SJIS = NKF::SJIS
 

Shift_JIS

UNKNOWN = NKF::UNKNOWN
 

UNKNOWN

UTF16 = NKF::UTF16
 

UTF-16

UTF32 = NKF::UTF32
 

UTF-32

UTF8 = NKF::UTF8
 

UTF-8

Class Public methods

Kconv.guess(str) => encoding

Guess input encoding by NKF.guess

# File ruby/ext/nkf/lib/kconv.rb, line 141
def guess(str)
  ::NKF::guess(str)
end

Kconv.iseuc(str) => true or false

Returns whether input encoding is EUC-JP or not.

Note don’t expect this return value is MatchData.

# File ruby/ext/nkf/lib/kconv.rb, line 156
def iseuc(str)
  str.dup.force_encoding(EUC).valid_encoding?
end

Kconv.isjis(str) => true or false

Returns whether input encoding is ISO-2022-JP or not.

# File ruby/ext/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

Kconv.issjis(str) => true or false

Returns whether input encoding is Shift_JIS or not.

# File ruby/ext/nkf/lib/kconv.rb, line 165
def issjis(str)
  str.dup.force_encoding(SJIS).valid_encoding?
end

Kconv.isutf8(str) => true or false

Returns whether input encoding is UTF-8 or not.

# File ruby/ext/nkf/lib/kconv.rb, line 193
def isutf8(str)
  str.dup.force_encoding(UTF8).valid_encoding?
end

Kconv.kconv(str, to_enc, from_enc=nil)

Convert str to to_enc. to_enc and from_enc are given as constants of Kconv or Encoding objects.

# File ruby/ext/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

Kconv.toeuc(str) => string

Convert str to EUC-JP

# File ruby/ext/nkf/lib/kconv.rb, line 83
def toeuc(str)
  kconv(str, EUC)
end

Kconv.tojis(str) => string

Convert str to ISO-2022-JP

# File ruby/ext/nkf/lib/kconv.rb, line 74
def tojis(str)
  kconv(str, JIS)
end

Kconv.tolocale => string

Convert self to locale encoding

# File ruby/ext/nkf/lib/kconv.rb, line 128
def tolocale(str)
  kconv(str, Encoding.locale_charmap)
end

Kconv.tosjis(str) => string

Convert str to Shift_JIS

# File ruby/ext/nkf/lib/kconv.rb, line 92
def tosjis(str)
  kconv(str, SJIS)
end

Kconv.toutf16(str) => string

Convert str to UTF-16

# File ruby/ext/nkf/lib/kconv.rb, line 110
def toutf16(str)
  kconv(str, UTF16)
end

Kconv.toutf32(str) => string

Convert str to UTF-32

# File ruby/ext/nkf/lib/kconv.rb, line 119
def toutf32(str)
  kconv(str, UTF32)
end

Kconv.toutf8(str) => string

Convert str to UTF-8

# File ruby/ext/nkf/lib/kconv.rb, line 101
def toutf8(str)
  kconv(str, UTF8)
end