Java InputStream Read by Charset isCharsetMisInterpreted(String input, String encoding)

Here you can find the source of isCharsetMisInterpreted(String input, String encoding)

Description

is Charset Mis Interpreted

License

Apache License

Declaration

public static boolean isCharsetMisInterpreted(String input, String encoding) 

Method Source Code

//package com.java2s;
/**/*from  w  w w  .  j  a v  a  2  s . com*/
 * Copyright 2016 Symantec Corporation.
 * 
 * Licensed under the Apache License, Version 2.0 (the ?License??); 
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.CharacterCodingException;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;

public class Main {
    public static boolean isCharsetMisInterpreted(String input, String encoding) {
        CharsetDecoder decoder = Charset.forName("ascii").newDecoder();
        CharsetEncoder encoder = Charset.forName(encoding).newEncoder();
        ByteBuffer tmp;
        try {
            tmp = encoder.encode(CharBuffer.wrap(input));
        } catch (CharacterCodingException e) {
            return false;
        }

        try {
            decoder.decode(tmp);
            return true;
        } catch (CharacterCodingException e) {
            return false;
        }
    }
}

Related

  1. inputStreamToString(final InputStream inputStream, final String charsetName)
  2. inputstreamToString(InputStream input, CharsetDecoder decoder)
  3. inputStreamToString(InputStream inputStream, Charset charset)
  4. inputStreamToString(InputStream inputStream, String charset)
  5. inputStreamToString(InputStream is, Charset charset)
  6. lines(InputStream in, Charset cs)
  7. loadInputStream(InputStream in, Charset cs)
  8. processSubstitute(CharBuffer cb, String replacement, boolean endOfInput, String outputCharset, OutputStream os)
  9. stream2Bytes(InputStream is, Charset charset)