com.intellij.openapi.vfs.CharsetToolkit

Here are the examples of the java api class com.intellij.openapi.vfs.CharsetToolkit taken from open source projects.

1. LoadTextUtil#guessFromContent()

Project: intellij-community
File: LoadTextUtil.java
@Nullable("null means no luck, otherwise it's tuple(guessed encoding, hint about content if was unable to guess, BOM)")
public static Trinity<Charset, CharsetToolkit.GuessedEncoding, byte[]> guessFromContent(@NotNull VirtualFile virtualFile, @NotNull byte[] content, int length) {
    Charset defaultCharset = ObjectUtils.notNull(EncodingManager.getInstance().getEncoding(virtualFile, true), CharsetToolkit.getDefaultSystemCharset());
    CharsetToolkit toolkit = GUESS_UTF ? new CharsetToolkit(content, defaultCharset) : null;
    String detectedFromBytes = null;
    try {
        if (GUESS_UTF) {
            toolkit.setEnforce8Bit(true);
            Charset charset = toolkit.guessFromBOM();
            if (charset != null) {
                detectedFromBytes = AUTO_DETECTED_FROM_BOM;
                byte[] bom = ObjectUtils.notNull(CharsetToolkit.getMandatoryBom(charset), CharsetToolkit.UTF8_BOM);
                return Trinity.create(charset, null, bom);
            }
            CharsetToolkit.GuessedEncoding guessed = toolkit.guessFromContent(length);
            if (guessed == CharsetToolkit.GuessedEncoding.VALID_UTF8) {
                detectedFromBytes = "auto-detected from bytes";
                //UTF detected, ignore all directives
                return Trinity.create(CharsetToolkit.UTF8_CHARSET, guessed, null);
            }
            if (guessed == CharsetToolkit.GuessedEncoding.SEVEN_BIT) {
                return Trinity.create(null, guessed, null);
            }
        }
        return null;
    } finally {
        setCharsetWasDetectedFromBytes(virtualFile, detectedFromBytes);
    }
}

2. LoadTextUtil#guessFromContent()

Project: consulo
File: LoadTextUtil.java
@Nullable("null means no luck, otherwise it's tuple(guessed encoding, hint about content if was unable to guess, BOM)")
public static Trinity<Charset, CharsetToolkit.GuessedEncoding, byte[]> guessFromContent(@NotNull VirtualFile virtualFile, @NotNull byte[] content, int length) {
    CharsetToolkit toolkit = GUESS_UTF ? new CharsetToolkit(content, EncodingRegistry.getInstance().getDefaultCharset()) : null;
    String detectedFromBytes = null;
    try {
        if (GUESS_UTF) {
            toolkit.setEnforce8Bit(true);
            Charset charset = toolkit.guessFromBOM();
            if (charset != null) {
                detectedFromBytes = AUTO_DETECTED_FROM_BOM;
                byte[] bom = CharsetToolkit.getMandatoryBom(charset);
                if (bom == null)
                    bom = CharsetToolkit.UTF8_BOM;
                return Trinity.create(charset, null, bom);
            }
            CharsetToolkit.GuessedEncoding guessed = toolkit.guessFromContent(length);
            if (guessed == CharsetToolkit.GuessedEncoding.VALID_UTF8) {
                detectedFromBytes = "auto-detected from bytes";
                //UTF detected, ignore all directives
                return Trinity.create(CharsetToolkit.UTF8_CHARSET, guessed, null);
            }
            if (guessed == CharsetToolkit.GuessedEncoding.SEVEN_BIT) {
                return Trinity.create(null, guessed, null);
            }
        }
        return null;
    } finally {
        setCharsetWasDetectedFromBytes(virtualFile, detectedFromBytes);
    }
}