导航:首页 > 编程语言 > java字符集

java字符集

发布时间:2023-12-04 08:37:35

A. java 多次以不同字符集编码解码后回不来的问题。

//一:
a=new String(a.getBytes("UTF-8"), "GBK");
a=new String(a.getBytes("GBK"), "UTF-8");
对于这一种情况,你之所以输出的是乱码是因为a.getBytes("UTF-8")的意思是按"UTF-8"的编码方式把字符串a转换成为字节数组,new String(a.getBytes("UTF-8"), "GBK")的意思是用"GBK"的编码方式来解释a.getBytes("UTF-8")得到的字节数组来生成字符串。而不是用"GBK"的方式来编码。所以当然是输出乱码。
//二:
a=URLEncoder.encode(a, "UTF-8");
a=URLDecoder.decode(a, "GBK");
a=URLEncoder.encode(a, "GBK");
a=URLDecoder.decode(a, "UTF-8");
你可以试一试下面的方式:
a="中";
a=URLEncoder.encode(a, "UTF-8");
a=URLDecoder.decode(a, "UTF-8");
System.out.println(a);

a=URLEncoder.encode(a, "GBK");
a=URLDecoder.decode(a, "GBK");
System.out.println(a);

B. Java中如何查看字符串是什么字符集

判断java字符串的字符集有多种方法,我们一一讨论如下:
1、通过把未知编码字符串,用猜想的编码再解码,观察字符串是不是正确还原了。
原理:假如目标编码没有数组中的字符,那么编码会破坏,无法还原。
缺点:假如字符少,而正巧错误的猜想编码中有这种字节,就会出错。
如:new String("tested str".getBytes("enc"),"enc")
2、大多数时候,我们只要判断本地平台编码和utf8,utf8编码相当有规律,所以可以分析是否是utf8,否则使用本地编码。
原理:分析byte[]来判断规律。
缺点:有时,个别本地编码字节在utf8中也会出现,导致出错,需要分析。
如:判断是否utf-8代码
public static boolean isValidUtf8(byte[] b,int aMaxCount){
int lLen=b.length,lCharCount=0;
for(int i=0;i
byte lByte=b[i++];//to fast operation, ++ now, ready for the following for(;;)
if(lByte>=0) continue;//>=0 is normal ascii
if(lByte<(byte)0xc0 || lByte>(byte)0xfd) return false;
int lCount=lByte>(byte)0xfc?5:lByte>(byte)0xf8?4
:lByte>(byte)0xf0?3:lByte>(byte)0xe0?2:1;
if(i+lCount>lLen) return false;
for(int j=0;j=(byte)0xc0) return false;
}
return true;

C. Java 如何设置打开文件内容的字符集

打开的时候不需要设,在读写文件的时候设置字符集就可以了

阅读全文

与java字符集相关的资料

热点内容
平板可以打开各种文件后缀的软件 浏览:531
苹果微信文件怎么全选 浏览:749
手机里之前打开过的文件在哪里找 浏览:685
cad能看word文件吗 浏览:719
12306火车票系统后台数据库 浏览:570
js翻译德语 浏览:33
从哪里可以下载a股的数据 浏览:437
逻辑文件名和物理文件名关系 浏览:66
怎么查一个网站的外链 浏览:675
linux下db2安装时版本选择 浏览:738
汇编编程用哪个软件 浏览:486
仙乐下的歌在文件管理哪里 浏览:477
115网盘解析工具2014 浏览:371
内圆弧铣刀怎么编程 浏览:410
记事本文件转word格式对齐 浏览:300
excel删除恢复文件 浏览:290
三星s4怎么切换3g网络 浏览:994
什么是网站维护 浏览:314
文件夹录像在哪里 浏览:621
可以发语音的是什么app 浏览:804

友情链接