博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CharsetUtils.java
阅读量:6270 次
发布时间:2019-06-22

本文共 2552 字,大约阅读时间需要 8 分钟。

/* * Copyright (c) 2013.  * * 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. */package com.example.kjdemo.utils;import org.apache.http.protocol.HTTP;import java.util.ArrayList;import java.util.List;/** * Created by wyouflf on 13-8-30. */public class CharsetUtils {    private CharsetUtils() {    }    public static String toCharset(final String str, final String charset, int judgeCharsetLength) {        try {            String oldCharset = getEncoding(str, judgeCharsetLength);            return new String(str.getBytes(oldCharset), charset);        } catch (Throwable ex) {            LogUtils.w(ex);            return str;        }    }    public static String getEncoding(final String str, int judgeCharsetLength) {        String encode = CharsetUtils.DEFAULT_ENCODING_CHARSET;        for (String charset : SUPPORT_CHARSET) {            if (isCharset(str, charset, judgeCharsetLength)) {                encode = charset;                break;            }        }        return encode;    }    public static boolean isCharset(final String str, final String charset, int judgeCharsetLength) {        try {            String temp = str.length() > judgeCharsetLength ? str.substring(0, judgeCharsetLength) : str;            return temp.equals(new String(temp.getBytes(charset), charset));        } catch (Throwable e) {            return false;        }    }    public static final String DEFAULT_ENCODING_CHARSET = HTTP.DEFAULT_CONTENT_CHARSET;    public static final List
SUPPORT_CHARSET = new ArrayList
(); static { SUPPORT_CHARSET.add("ISO-8859-1"); SUPPORT_CHARSET.add("GB2312"); SUPPORT_CHARSET.add("GBK"); SUPPORT_CHARSET.add("GB18030"); SUPPORT_CHARSET.add("US-ASCII"); SUPPORT_CHARSET.add("ASCII"); SUPPORT_CHARSET.add("ISO-2022-KR"); SUPPORT_CHARSET.add("ISO-8859-2"); SUPPORT_CHARSET.add("ISO-2022-JP"); SUPPORT_CHARSET.add("ISO-2022-JP-2"); SUPPORT_CHARSET.add("UTF-8"); }}

 

转载于:https://www.cnblogs.com/royi123/p/5653843.html

你可能感兴趣的文章
zinnia项目功能分析
查看>>
windows cmd for paramiko
查看>>
SQL经典面试题集锦
查看>>
View学习(一)-DecorView,measureSpec与LayoutParams
查看>>
色彩力量!21款你应该知道的优秀品牌设计
查看>>
SDUT 3503 有两个正整数,求N!的K进制的位数
查看>>
【.Net】C# 根据绝对路径获取 带后缀文件名、后缀名、文件名、不带文件名的文件路径...
查看>>
Redis常用命令速查 <第二篇>
查看>>
CSS规范
查看>>
使用FastDateFormat来代替JDK自带的DateFormat
查看>>
Python爬虫从入门到放弃(十六)之 Scrapy框架中Item Pipeline用法
查看>>
Android源代码解析之(三)--&gt;异步任务AsyncTask
查看>>
(zhuan) 自然语言处理中的Attention Model:是什么及为什么
查看>>
C#中使用RabbitMQ收发队列消息
查看>>
Hadoop1.2.1 全然分布式集群搭建实操笔记
查看>>
第三百二十七节,web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求...
查看>>
MVC总结--MVC简单介绍以及和WebForm差别
查看>>
tiny4412 裸机程序 五、控制icache【转】
查看>>
VB.NET多线程入门
查看>>
国外物联网平台初探(二) ——微软Azure IoT
查看>>