Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more

In Files

  • nkf/lib/kconv.rb

Class/Module Index [+]

Quicksearch

Kconv

Kanji Converter for Ruby.

Constants

ASCII

ASCII

AUTO

Auto-Detect

BINARY

BINARY

EUC

EUC-JP

JIS

ISO-2022-JP

NOCONV

NOCONV

SJIS

Shift_JIS

UNKNOWN

UNKNOWN

UTF16

UTF-16

UTF32

UTF-32

UTF8

UTF-8

Public Class Methods

guess(str) => encoding click to toggle source

Guess input encoding by NKF.guess

 
               # File nkf/lib/kconv.rb, line 140
def guess(str)
  ::NKF::guess(str)
end
            
iseuc(str) => true or false click to toggle source

Returns whether input encoding is EUC-JP or not.

Note don't expect this return value is MatchData.

 
               # File nkf/lib/kconv.rb, line 155
def iseuc(str)
  str.dup.force_encoding(EUC).valid_encoding?
end
            
isjis(str) => true or false click to toggle source

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

 
               # File nkf/lib/kconv.rb, line 173
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 or false click to toggle source

Returns whether input encoding is Shift_JIS or not.

 
               # File nkf/lib/kconv.rb, line 164
def issjis(str)
  str.dup.force_encoding(SJIS).valid_encoding?
end
            
isutf8(str) => true or false click to toggle source

Returns whether input encoding is UTF-8 or not.

 
               # File nkf/lib/kconv.rb, line 192
def isutf8(str)
  str.dup.force_encoding(UTF8).valid_encoding?
end
            
kconv(str, to_enc, from_enc=nil) click to toggle source

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

 
               # File nkf/lib/kconv.rb, line 56
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 click to toggle source

Convert str to EUC-JP

 
               # File nkf/lib/kconv.rb, line 82
def toeuc(str)
  kconv(str, EUC)
end
            
tojis(str) => string click to toggle source

Convert str to ISO-2022-JP

 
               # File nkf/lib/kconv.rb, line 73
def tojis(str)
  kconv(str, JIS)
end
            
tolocale => string click to toggle source

Convert self to locale encoding

 
               # File nkf/lib/kconv.rb, line 127
def tolocale(str)
  kconv(str, Encoding.locale_charmap)
end
            
tosjis(str) => string click to toggle source

Convert str to Shift_JIS

 
               # File nkf/lib/kconv.rb, line 91
def tosjis(str)
  kconv(str, SJIS)
end
            
toutf16(str) => string click to toggle source

Convert str to UTF-16

 
               # File nkf/lib/kconv.rb, line 109
def toutf16(str)
  kconv(str, UTF16)
end
            
toutf32(str) => string click to toggle source

Convert str to UTF-32

 
               # File nkf/lib/kconv.rb, line 118
def toutf32(str)
  kconv(str, UTF32)
end
            
toutf8(str) => string click to toggle source

Convert str to UTF-8

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

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.