123456789_123456789_123456789_123456789_123456789_

Module: Kconv

Relationships & Source Files
Defined in: ext/nkf/lib/kconv.rb

Overview

Kanji Converter for Ruby.

Constant Summary

Class Method Summary

Class Method Details

.guess(str) ⇒ Encoding (mod_func)

Guess input encoding by NKF.guess

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 141

def guess(str)
  ::NKF::guess(str)
end

.iseuc(str) ⇒ Boolean (mod_func)

Returns whether input encoding is EUC-JP or not.

Note don’t expect this return value is MatchData.

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 156

def iseuc(str)
  str.dup.force_encoding(EUC).valid_encoding?
end

.isjis(str) ⇒ Boolean (mod_func)

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

[ GitHub ]

  
# File '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

.issjis(str) ⇒ Boolean (mod_func)

Returns whether input encoding is Shift_JIS or not.

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 165

def issjis(str)
  str.dup.force_encoding(SJIS).valid_encoding?
end

.isutf8(str) ⇒ Boolean (mod_func)

Returns whether input encoding is UTF-8 or not.

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 193

def isutf8(str)
  str.dup.force_encoding(UTF8).valid_encoding?
end

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

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

[ GitHub ]

  
# File '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

.toeuc(str) ⇒ String (mod_func)

Convert str to EUC-JP

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 83

def toeuc(str)
  kconv(str, EUC)
end

.tojis(str) ⇒ String (mod_func)

Convert str to ISO-2022-JP

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 74

def tojis(str)
  kconv(str, JIS)
end

.tolocaleString (mod_func)

Convert self to locale encoding

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 128

def tolocale(str)
  kconv(str, Encoding.locale_charmap)
end

.tosjis(str) ⇒ String (mod_func)

Convert str to Shift_JIS

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 92

def tosjis(str)
  kconv(str, SJIS)
end

.toutf16(str) ⇒ String (mod_func)

Convert str to UTF-16

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 110

def toutf16(str)
  kconv(str, UTF16)
end

.toutf32(str) ⇒ String (mod_func)

Convert str to UTF-32

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 119

def toutf32(str)
  kconv(str, UTF32)
end

.toutf8(str) ⇒ String (mod_func)

Convert str to UTF-8

[ GitHub ]

  
# File 'ext/nkf/lib/kconv.rb', line 101

def toutf8(str)
  kconv(str, UTF8)
end