Package org.jruby.runtime.encoding
Class EncodingService
java.lang.Object
org.jruby.runtime.encoding.EncodingService
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static enumRepresents one of the four "special" internal encoding names: internal, external, locale, or filesystem. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB.Entry>private final org.jcodings.Encodingprivate org.jcodings.Encodingprivate static ByteListprivate RubyEncoding[]private final IRubyObject[]private final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB.Entry>private static final ByteListprivate static final ByteListprivate static final ByteListprivate final org.jcodings.Encodingprivate static final ByteListprivate static final Patternprivate final Ruby -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncharsetForEncoding(org.jcodings.Encoding encoding) Get a java.nio Charset for the given encoding, or null if impossibleprivate voidconvertEncodingToRubyEncoding(org.jcodings.Encoding defaultEncoding) voidprivate voiddefineEncodingConstant(Ruby runtime, RubyEncoding encoding, String constName) voidorg.jcodings.EncodingDB.EntryfindAliasEntry(byte[] bytes) org.jcodings.EncodingDB.EntryfindAliasEntry(ByteList bytes) org.jcodings.EncodingfindEncoding(IRubyObject str) Find an encoding given a Ruby object, coercing it to a String in the process.private org.jcodings.EncodingfindEncodingCommon(IRubyObject str, boolean error) private org.jcodings.EncodingfindEncodingCommon(ByteList name, boolean error) org.jcodings.EncodingDB.EntryfindEncodingEntry(byte[] bytes) org.jcodings.EncodingDB.EntryfindEncodingEntry(ByteList bytes) org.jcodings.EncodingFind an encoding given a Ruby object, coercing it to a String in the process.org.jcodings.EncodingfindEncodingObject(byte[] bytes) org.jcodings.EncodingDB.EntryfindEncodingOrAliasEntry(byte[] bytes) org.jcodings.EncodingDB.EntryfindEncodingOrAliasEntry(ByteList bytes) org.jcodings.EncodingFind a non-special encoding, raising argument error if it does not exist.org.jcodings.EncodingDB.EntryfindEntry(IRubyObject str) Find an encoding given a Ruby object, coercing it to a String in the process.private org.jcodings.EncodingDB.EntryfindEntryFromEncoding(org.jcodings.Encoding e) private org.jcodings.EncodingDB.EntryfindEntryWithError(ByteList name) Find a non-special encoding Entry, raising argument error if it does not exist.org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB.Entry>org.jcodings.Encodingorg.jcodings.EncodingSince Java 1.6, classConsoleis available.getEncoding(org.jcodings.Encoding enc) private org.jcodings.EncodinggetEncodingFromNKFName(String name) org.jcodings.Encodingprivate org.jcodings.EncodinggetEncodingFromObjectCommon(IRubyObject arg, boolean error) org.jcodings.Encodingorg.jcodings.EncodinggetEncodingFromString(String string) org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB.Entry>org.jcodings.Encodingorg.jcodings.EncodinggetFileSystemEncoding(Ruby runtime) Deprecated.org.jcodings.Encodingorg.jcodings.Encodingorg.jcodings.Encodingorg.jcodings.Encodingorg.jcodings.EncodingloadEncoding(ByteList name) private RubyEncodingloadEncodingEntry(org.jcodings.EncodingDB.Entry entry)
-
Field Details
-
encodings
private final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB.Entry> encodings -
aliases
private final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB.Entry> aliases -
encodingList
-
encodingIndex
-
runtime
-
ascii8bit
private final org.jcodings.Encoding ascii8bit -
javaDefault
private final org.jcodings.Encoding javaDefault -
LOCALE_BL
-
EXTERNAL_BL
-
INTERNAL_BL
-
FILESYSTEM_BL
-
MS_CP_PATTERN
-
consoleEncoding
private org.jcodings.Encoding consoleEncoding -
defaultCharsetName
-
-
Constructor Details
-
EncodingService
-
-
Method Details
-
getConsoleEncoding
public org.jcodings.Encoding getConsoleEncoding()Since Java 1.6, classConsoleis 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() -
getEncodings
public org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB.Entry> getEncodings() -
getAliases
public org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB.Entry> getAliases() -
findEncodingEntry
-
findEncodingEntry
public org.jcodings.EncodingDB.Entry findEncodingEntry(byte[] bytes) -
findAliasEntry
-
findAliasEntry
public org.jcodings.EncodingDB.Entry findAliasEntry(byte[] bytes) -
findEncodingOrAliasEntry
-
findEncodingOrAliasEntry
public org.jcodings.EncodingDB.Entry findEncodingOrAliasEntry(byte[] bytes) -
getLocaleEncoding
public org.jcodings.Encoding getLocaleEncoding() -
getEncodingList
-
loadEncoding
-
loadEncodingEntry
-
getEncoding
-
defineEncodings
public void defineEncodings() -
defineAliases
public void defineAliases() -
defineEncodingConstant
-
getDefaultExternal
-
getDefaultInternal
-
convertEncodingToRubyEncoding
-
findEncodingObject
-
getJavaDefault
public org.jcodings.Encoding getJavaDefault() -
getEncodingFromObject
-
getEncodingFromObjectNoError
-
getEncodingFromObjectCommon
-
getEncodingFromNKFName
-
getEncodingFromString
-
findEncoding
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
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
-
findEncodingCommon
-
findEncodingCommon
-
findEntry
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
-
charsetForEncoding
Get a java.nio Charset for the given encoding, or null if impossible- Parameters:
encoding- the encoding- Returns:
- the charset
-
checkAsciiEncodingName
-
getWindowsFilesystemEncoding
-
findEncodingWithError
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
-
findEntryWithError
Find a non-special encoding Entry, raising argument error if it does not exist.- Parameters:
name- the name of the encoding to look up- Returns:
- the EncodingDB.Entry object found, or raises ArgumentError
-
findEntryFromEncoding
private org.jcodings.EncodingDB.Entry findEntryFromEncoding(org.jcodings.Encoding e) -
getFileSystemEncoding
Deprecated.
-