java中怎么判断一个字符串的编码?

我通过java接收了一个字符串。但我不知道它是GBK的还是UTF-8的,我要通过判断它的编码集来选择输出形式。我该怎么判断?//*********************... 我通过java接收了一个字符串。但我不知道它是GBK的还是UTF-8的,我要通过判断它的编码集来选择输出形式。我该怎么判断?
//*****************************
String str=[接收一个字符串];
/*判断编码集*/
......
//**********************
上面判断编码集的代码要怎么写?
来个会的。
展开
 我来答
zhongtyler
2014-12-05 · TA获得超过4408个赞
知道大有可为答主
回答量:4384
采纳率:79%
帮助的人:919万
展开全部
明确告诉你,没有办法,你必须先知道编码,才能把byte数组转成字符,如果已经是java的String那么只有unicode编码一种。
更多追问追答
追问
其实我这样觉得的,只是不死心。
追答
死心吧。如果可以的话,肯定会被做到jdk里。
百度网友0480c51
2014-12-05 · 超过29用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:21.7万
展开全部
public static String getEncoding(String str) {
String encode = "GB2312";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s = encode;
return s;
}
} catch (Exception exception) {
}
encode = "ISO-8859-1";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s1 = encode;
return s1;
}
} catch (Exception exception1) {
}
encode = "UTF-8";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s2 = encode;
return s2;
}
} catch (Exception exception2) {
}
encode = "GBK";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s3 = encode;
return s3;
}
} catch (Exception exception3) {
}
return "";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式