「java解码gbk」Java解码??
今天给各位分享java解码gbk的知识,其中也会对Java解码??进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java怎么把UTF-8字符串转成GBK字符串?
- 2、Java中如何把GBK编码的字符串转成utf-8编码
- 3、java中GBK编码格式转成UTF8,用一段方法实现怎么做
- 4、编码gbk的不可映射字符要怎么解决
java怎么把UTF-8字符串转成GBK字符串?
java不同编码之间进行转换,都需要使用unicode作为中转。
以utf-8转gbk为例,示例代码如下:
String t = "这是一个字符串aaa111";
String utf8 = new String(t.getBytes( "UTF-8"));
System.out.println(utf8);
String unicode = new String(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
String gbk = new String(unicode.getBytes("GBK"));
System.out.println(gbk);
Java中如何把GBK编码的字符串转成utf-8编码
我先解释一下我对你的问题的理解
:
你的问题有点笼统
可以这么理解两个意思
:
一
,你是想吧一个gbk编码的字符串用utf-8格式来编码
String
s
=
new
String
("全国".getBytes("GBK"),"GBK");
虽然这个时候的s是GBK编码的
但是s还是中文字符的
所以
上面这位同胞用
new(s.getBytes("GBK"),"UTF-8")的方式肯定是错的
应该用
String
s1
=
new
String
(s.getBytes("UTF-8"),"UTF-8")
这样s1就是UTF-8编码的字符串了
二,如果是遇见乱码问题
比如
String
s
=
new
String
("全国".getBytes("GBK"),"GBK");
这样的s就是gbk编码的
现在你要把GBK格式的编码用UTF-8去编码
肯定就会出现乱码
String
s2
=
new
String(s.getBytes("GBK"),"UTF-8");
这个s2肯定是乱码的
而且这样就根本解不出来了
系统出现的乱码显示的时候才会出现编码错误
所以
一般出现乱码
只要把输入流换个编码解析一下就ok了
还有什么不明白
可以问我
java中GBK编码格式转成UTF8,用一段方法实现怎么做
java中GBK编码格式转成UTF8编码格式的方法如下:
public static void main(String[] args) throws Throwable {
String errStr = "errStr";
System.out.println(recover(errStr));
}
public static String recover(String str) throws Throwable {
return new String(str.getBytes("GBK"), "UTF-8");
}
其中errStr就是乱码字符串,按照相反的顺序在编码(用gbk)、解码(用utf-8)回去,就能得到正确的字符串.
GBK、UTF-8是一种“编码格式”,是用来序列化或存储“编号(数字)”的一种“格式”;GBK和UTF-8都是用来序列化或存储unicode编码的数据的,但是分别是2种不同的格式; 除了格式不一样之外,所关心的unicode编码范围也不一样,utf-8考虑了很多种不同国家的字符,涵盖整个unicode码表,所以其存储一个字符的编码的时候,使用的字节长度也从1字节到4字节不等;而GBK只考虑中文——在unicode中的一小部分——的字符,的编码,所以算好了只要2个字节就能涵盖到绝大多数常用中文(2个字节能表示6w多种字符),所以存储一个字符的时候,所用的字节长度是固定的;
编码gbk的不可映射字符要怎么解决
输入javac -encoding utf-8 文件名.java。就可以解决了。
当Java源代码中包含中文字符时,我们在用javac编译时会出现“错误:编码GBK的不可映射字符”。
由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统默认采用的编码格式(GBK),然后JDK就把Java源文件从GBK编码格式转换为Java内部默认的Unicode格式放入内存中,然后javac把转换后的Unicode格式的文件编译成class类文件。
此时,class文件是Unicode编码的,它暂存在内存中,紧接着,JDK将此以Unicode格式编码的class文件保存到操作系统中形成我们见到的class文件。当我们不加设置就编译时,相当于使用了参数:javac -encoding GBK Test.java,就会出现不兼容的情况。
实践应用
伴随GBK字库的推广使用,中国新华通讯社于2000年1月1日起开始使用GBK编码向各新闻单位播发新闻稿。2000年4月1日起,中国银行业开始推行“储蓄实名制”。
同时,各种出版物已开始向网络化发展,网上发布新闻、网络出版已是大势所趋,通过网络传播信息的广度和深度对汉字使用提出了更高要求,GBK字库是缓解人名和地名等冷僻字的“当然之选”。
北大方正已为广大用户使用GBK字库做好了充分准备,其出版系统已全面支持GBK字库,如方正书版9.0、方正飞腾从1.0版本、世纪RIP从1.0版本开始就支持GBK字库,用户的补字量将大大降低。方正GBK字库的使用非常便捷。
排版软件方面,Windows上大多数文字处理软件,如MS Office、PageMaker、金山WPS等均已支持GBK字库,方正书版9.0、方正飞腾3.6和方正世纪RIP完全支持GBK字库。
输入法方面,除了Windows上的全拼、王码五笔等主流输入法支持GBK字库外,北大方正还专门为GBK的输入制作了一本GBK内码字典,用户可以用查字典的方法很快找到汉字的GBK编码完成录入。
关于java解码gbk和Java解码??的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。