Class EncodingService

java.lang.Object
org.jruby.runtime.encoding.EncodingService

public final class EncodingService extends Object
  • Constructor Details

    • EncodingService

      public EncodingService(Ruby runtime)
  • Method Details

    • getConsoleEncoding

      public org.jcodings.Encoding getConsoleEncoding()
      Since Java 1.6, class Console is available. But the encoding or codepage of the underlying connected console is currently private. Had to use Reflection to get it.
      Returns:
      console codepage
    • getUSAsciiEncoding

      public org.jcodings.Encoding getUSAsciiEncoding()
    • getAscii8bitEncoding

      public org.jcodings.Encoding getAscii8bitEncoding()
    • getFileSystemEncoding

      public org.jcodings.Encoding getFileSystemEncoding()
    • getDefaultInternalEncoding

      public org.jcodings.Encoding getDefaultInternalEncoding()
    • getDefaultInternalEncodingOrDefault

      public org.jcodings.Encoding getDefaultInternalEncodingOrDefault()
    • setDefaultInternalEncoding

      public void setDefaultInternalEncoding(org.jcodings.Encoding defaultInternalEncoding)
    • getDefaultExternalEncoding

      public org.jcodings.Encoding getDefaultExternalEncoding()
    • setDefaultExternalEncoding

      public void setDefaultExternalEncoding(org.jcodings.Encoding defaultExternalEncoding)
    • getDefaultFilesystemEncoding

      public org.jcodings.Encoding getDefaultFilesystemEncoding()
    • setDefaultFilesystemEncoding

      public void setDefaultFilesystemEncoding(org.jcodings.Encoding defaultFilesystemEncoding)
    • getEncodings

      public org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB.Entry> getEncodings()
    • getAliases

      public org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB.Entry> getAliases()
    • findEncodingEntry

      public org.jcodings.EncodingDB.Entry findEncodingEntry(ByteList bytes)
    • findEncodingEntry

      public org.jcodings.EncodingDB.Entry findEncodingEntry(byte[] bytes)
    • findAliasEntry

      public org.jcodings.EncodingDB.Entry findAliasEntry(ByteList bytes)
    • findAliasEntry

      public org.jcodings.EncodingDB.Entry findAliasEntry(byte[] bytes)
    • findEncodingOrAliasEntry

      public org.jcodings.EncodingDB.Entry findEncodingOrAliasEntry(ByteList bytes)
    • findEncodingOrAliasEntry

      public org.jcodings.EncodingDB.Entry findEncodingOrAliasEntry(byte[] bytes)
    • getLocaleEncoding

      public org.jcodings.Encoding getLocaleEncoding()
    • getEncodingList

      public IRubyObject[] getEncodingList()
    • loadEncoding

      public org.jcodings.Encoding loadEncoding(ByteList name)
    • getEncoding

      public RubyEncoding getEncoding(org.jcodings.Encoding enc)
    • defineEncodings

      public void defineEncodings(ThreadContext context)
    • defineAliases

      public void defineAliases(ThreadContext context)
    • getDefaultExternal

      public IRubyObject getDefaultExternal()
    • getDefaultInternal

      public IRubyObject getDefaultInternal()
    • convertEncodingToRubyEncoding

      public IRubyObject convertEncodingToRubyEncoding(org.jcodings.Encoding defaultEncoding)
    • findEncodingObject

      public IRubyObject findEncodingObject(byte[] bytes)
    • getJavaDefault

      public org.jcodings.Encoding getJavaDefault()
    • getEncodingFromObject

      public org.jcodings.Encoding getEncodingFromObject(IRubyObject arg)
    • getEncodingFromObjectNoError

      public org.jcodings.Encoding getEncodingFromObjectNoError(IRubyObject arg)
    • getEncodingFromString

      public org.jcodings.Encoding getEncodingFromString(String string)
    • findEncoding

      public org.jcodings.Encoding findEncoding(IRubyObject str)
      Find an encoding given a Ruby object, coercing it to a String in the process.
      Parameters:
      str - the object to coerce and use to look up encoding. The coerced String must be ASCII-compatible.
      Returns:
      the Encoding object found, nil (for internal), or raises ArgumentError
    • findEncodingNoError

      public org.jcodings.Encoding findEncodingNoError(IRubyObject str)
      Find an encoding given a Ruby object, coercing it to a String in the process. This version does not raise a Ruby error if it can't find the encoding, and simply returns null.
      Parameters:
      str - the object to coerce and use to look up encoding. The coerced String must be ASCII-compatible.
      Returns:
      the Encoding object found, nil (for internal)
    • findEncodingNoError

      public org.jcodings.Encoding findEncodingNoError(ByteList str)
    • findEntry

      public org.jcodings.EncodingDB.Entry findEntry(IRubyObject str)
      Find an encoding given a Ruby object, coercing it to a String in the process.
      Parameters:
      str - the object to coerce and use to look up encoding. The coerced String must be ASCII-compatible.
      Returns:
      the Encoding object found, nil (for internal), or raises ArgumentError
    • rubyEncodingFromObject

      public IRubyObject rubyEncodingFromObject(IRubyObject str)
    • charsetForEncoding

      public Charset charsetForEncoding(org.jcodings.Encoding encoding)
      Get a java.nio Charset for the given encoding, or null if impossible
      Parameters:
      encoding - the encoding
      Returns:
      the charset
    • getWindowsFilesystemEncoding

      @Deprecated(since="10.0") public org.jcodings.Encoding getWindowsFilesystemEncoding(Ruby runtime)
      Deprecated.
    • getWindowsFilesystemEncoding

      public org.jcodings.Encoding getWindowsFilesystemEncoding(ThreadContext context)
    • getEnvEncoding

      public org.jcodings.Encoding getEnvEncoding()
    • findEncodingWithError

      public org.jcodings.Encoding findEncodingWithError(ByteList name)
      Find a non-special encoding, raising argument error if it does not exist.
      Parameters:
      name - the name of the encoding to look up
      Returns:
      the Encoding object found, or raises ArgumentError
    • getFileSystemEncoding

      @Deprecated public org.jcodings.Encoding getFileSystemEncoding(Ruby runtime)
      Deprecated.